/** * @inheritDoc IFieldType::getSearchKeywords() * * @param mixed $value * * @return string */ public function getSearchKeywords($value) { $criteria = $this->prepValue(null); $keywords = array(); $contentService = craft()->content; foreach ($criteria->find() as $block) { $originalContentTable = $contentService->contentTable; $originalFieldColumnPrefix = $contentService->fieldColumnPrefix; $originalFieldContext = $contentService->fieldContext; $contentService->contentTable = $block->getContentTable(); $contentService->fieldColumnPrefix = $block->getFieldColumnPrefix(); $contentService->fieldContext = $block->getFieldContext(); foreach (craft()->fields->getAllFields() as $field) { $fieldType = $field->getFieldType(); if ($fieldType) { $fieldType->element = $block; $handle = $field->handle; $keywords[] = $fieldType->getSearchKeywords($block->getFieldValue($handle)); } } $contentService->contentTable = $originalContentTable; $contentService->fieldColumnPrefix = $originalFieldColumnPrefix; $contentService->fieldContext = $originalFieldContext; } return parent::getSearchKeywords($keywords); }
/** * Get search keywords. * * @param ElementCriteriaModel|array $criteria * * @return array */ public function getSearchKeywords($criteria) { // Behave normally in cp if (craft()->request->isCpRequest()) { return parent::getSearchKeywords($criteria); } // Or parse youtube video models $titles = array(); foreach ($criteria as $element) { $titles[] = (string) $element; } return BaseFieldType::getSearchKeywords($titles); }
/** * @inheritDoc IFieldType::getSearchKeywords() * * @param ElementCriteriaModel $criteria * * @return string */ public function getSearchKeywords($criteria) { $titles = array(); foreach ($criteria->find() as $element) { $titles[] = (string) $element; } return parent::getSearchKeywords($titles); }
/** * Returns the search keywords that should be associated with this field, * based on the prepped post data. * * @param mixed $value * @return string */ public function getSearchKeywords($value) { $elements = $this->prepValue(null); $titles = array(); foreach ($elements->all as $element) { $titles[] = (string) $element; } return parent::getSearchKeywords($titles); }