Example #1
0
 /**
  * @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);
 }