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


PHP Translatable::enable_lang_filter方法代码示例

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


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

示例1: getTranslations

 /**
  * Gets all related translations for the current object,
  * excluding itself. See {@link getTranslation()} to retrieve
  * a single translated object.
  * 
  * Getter with $stage parameter is specific to {@link Versioned} extension,
  * mostly used for {@link SiteTree} subclasses.
  * 
  * @param string $locale
  * @param string $stage 
  * @return DataObjectSet
  */
 function getTranslations($locale = null, $stage = null)
 {
     if ($this->owner->exists()) {
         // HACK need to disable language filtering in augmentSQL(),
         // as we purposely want to get different language
         self::$enable_lang_filter = false;
         $translationGroupID = $this->getTranslationGroup();
         $baseDataClass = ClassInfo::baseDataClass($this->owner->class);
         $filter = sprintf('`%s_translationgroups`.`TranslationGroupID` = %d', $baseDataClass, $translationGroupID);
         if ($locale) {
             $filter .= sprintf(' AND `%s`.`Locale` = \'%s\'', $baseDataClass, Convert::raw2sql($locale));
         } else {
             // exclude the language of the current owner
             $filter .= sprintf(' AND `%s`.`Locale` != \'%s\'', $baseDataClass, $this->owner->Locale);
         }
         $join = sprintf('LEFT JOIN `%s_translationgroups` ON `%s_translationgroups`.`OriginalID` = `%s`.`ID`', $baseDataClass, $baseDataClass, $baseDataClass);
         $currentStage = Versioned::current_stage();
         if ($this->owner->hasExtension("Versioned")) {
             if ($stage) {
                 Versioned::reading_stage($stage);
             }
             $translations = Versioned::get_by_stage($this->owner->class, Versioned::current_stage(), $filter, null, $join);
             if ($stage) {
                 Versioned::reading_stage($currentStage);
             }
         } else {
             $translations = DataObject::get($this->owner->class, $filter, null, $join);
         }
         self::$enable_lang_filter = true;
         return $translations;
     }
 }
开发者ID:racontemoi,项目名称:shibuichi,代码行数:44,代码来源:Translatable.php


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