当前位置: 首页>>代码示例>>PHP>>正文


PHP BaseElementModel::getFieldValue方法代码示例

本文整理汇总了PHP中BaseElementModel::getFieldValue方法的典型用法代码示例。如果您正苦于以下问题:PHP BaseElementModel::getFieldValue方法的具体用法?PHP BaseElementModel::getFieldValue怎么用?PHP BaseElementModel::getFieldValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BaseElementModel的用法示例。


在下文中一共展示了BaseElementModel::getFieldValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getTableAttributeHtml

 /**
  * @inheritDoc IElementType::getTableAttributeHtml()
  *
  * @param BaseElementModel $element
  * @param string           $attribute
  *
  * @return mixed|string
  */
 public function getTableAttributeHtml(BaseElementModel $element, $attribute)
 {
     switch ($attribute) {
         case 'link':
             $url = $element->getUrl();
             if ($url) {
                 return '<a href="' . $url . '" target="_blank" data-icon="world" title="' . Craft::t('Visit webpage') . '"></a>';
             } else {
                 return '';
             }
         case 'uri':
             $url = $element->getUrl();
             if ($url) {
                 $value = $element->uri;
                 if ($value == '__home__') {
                     $value = '<span data-icon="home" title="' . Craft::t('Homepage') . '"></span>';
                 } else {
                     // Add some <wbr> tags in there so it doesn't all have to be on one line
                     $find = array('/');
                     $replace = array('/<wbr>');
                     $wordSeparator = craft()->config->get('slugWordSeparator');
                     if ($wordSeparator) {
                         $find[] = $wordSeparator;
                         $replace[] = $wordSeparator . '<wbr>';
                     }
                     $value = str_replace($find, $replace, $value);
                 }
                 return '<a href="' . $url . '" target="_blank" class="go" title="' . Craft::t('Visit webpage') . '"><span dir="ltr">' . $value . '</span></a>';
             } else {
                 return '';
             }
         default:
             // Is this a custom field?
             if (preg_match('/^field:(\\d+)$/', $attribute, $matches)) {
                 $fieldId = $matches[1];
                 $field = craft()->fields->getFieldById($fieldId);
                 if ($field) {
                     $fieldType = $field->getFieldType();
                     if ($fieldType && $fieldType instanceof IPreviewableFieldType) {
                         // Was this field value eager-loaded?
                         if ($fieldType instanceof IEagerLoadingFieldType && $element->hasEagerLoadedElements($field->handle)) {
                             $value = $element->getEagerLoadedElements($field->handle);
                         } else {
                             $value = $element->getFieldValue($field->handle);
                         }
                         $fieldType->setElement($element);
                         return $fieldType->getTableAttributeHtml($value);
                     }
                 }
                 return '';
             }
             $value = $element->{$attribute};
             if ($value instanceof DateTime) {
                 return '<span title="' . $value->localeDate() . ' ' . $value->localeTime() . '">' . $value->uiTimestamp() . '</span>';
             }
             return HtmlHelper::encode($value);
     }
 }
开发者ID:codeforamerica,项目名称:oakland-beta,代码行数:66,代码来源:BaseElementType.php

示例2: _updateSearchIndexes

 /**
  * Updates the search indexes based on the new content values.
  *
  * @param BaseElementModel $element
  * @param ContentModel     $content
  * @param FieldLayoutModel $fieldLayout
  * @param array|null       &$nonTranslatableFields
  * @param array|null       &$otherContentModels
  *
  * @return null
  */
 private function _updateSearchIndexes(BaseElementModel $element, ContentModel $content, FieldLayoutModel $fieldLayout, &$nonTranslatableFields = null, &$otherContentModels = null)
 {
     $searchKeywordsByLocale = array();
     foreach ($fieldLayout->getFields() as $fieldLayoutField) {
         $field = $fieldLayoutField->getField();
         if ($field) {
             $fieldType = $field->getFieldType();
             if ($fieldType) {
                 $fieldType->element = $element;
                 $handle = $field->handle;
                 // Set the keywords for the content's locale
                 $fieldSearchKeywords = $fieldType->getSearchKeywords($element->getFieldValue($handle));
                 $searchKeywordsByLocale[$content->locale][$field->id] = $fieldSearchKeywords;
                 // Should we queue up the other locales' new keywords too?
                 if (isset($nonTranslatableFields[$field->id])) {
                     foreach ($otherContentModels as $otherContentModel) {
                         $searchKeywordsByLocale[$otherContentModel->locale][$field->id] = $fieldSearchKeywords;
                     }
                 }
             }
         }
     }
     foreach ($searchKeywordsByLocale as $localeId => $keywords) {
         craft()->search->indexElementFields($element->id, $localeId, $keywords);
     }
 }
开发者ID:kant312,项目名称:sop,代码行数:37,代码来源:ContentService.php


注:本文中的BaseElementModel::getFieldValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。