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


PHP BaseElementModel::getUrl方法代码示例

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


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

 /**
  * Gets a element URL for the specified locale.
  *
  * @param Element            $element
  * @param string|LocaleModel $locale
  *
  * @return string
  */
 public function getElementUrlForLocale(BaseElementModel $element, $locale)
 {
     $this->validateLocale($locale);
     $oldLocale = $element->locale;
     $oldUri = $element->uri;
     $element->locale = $locale;
     $element->uri = craft()->elements->getElementUriForLocale($element->id, $locale);
     $url = $element->getUrl();
     $element->locale = $oldLocale;
     $element->uri = $oldUri;
     return $url;
 }
开发者ID:amite,项目名称:arc-va,代码行数:20,代码来源:SitemapService.php

示例3: getTableAttributeHtml

 /**
  * @inheritDoc IElementType::getTableAttributeHtml()
  *
  * @param BaseElementModel $element
  * @param string           $attribute
  *
  * @return mixed|string
  */
 public function getTableAttributeHtml(BaseElementModel $element, $attribute)
 {
     switch ($attribute) {
         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"><span dir="ltr">' . $value . '</span></a>';
             } else {
                 return '';
             }
         default:
             $value = $element->{$attribute};
             if ($value instanceof DateTime) {
                 return '<span title="' . $value->localeDate() . ' ' . $value->localeTime() . '">' . $value->uiTimestamp() . '</span>';
             }
             return HtmlHelper::encode($value);
     }
 }
开发者ID:scisahaha,项目名称:generator-craft,代码行数:40,代码来源:BaseElementType.php


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