當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。