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


PHP SiteTree::getTranslations方法代码示例

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


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

示例1: testTranslationGroups

 function testTranslationGroups()
 {
     // first in french
     $frPage = new SiteTree();
     $frPage->Locale = 'fr_FR';
     $frPage->write();
     // second in english (from french "original")
     $enPage = $frPage->createTranslation('en_US');
     // third in spanish (from the english translation)
     $esPage = $enPage->createTranslation('es_ES');
     // test french
     $this->assertEquals($frPage->getTranslations()->column('Locale'), array('en_US', 'es_ES'));
     $this->assertNotNull($frPage->getTranslation('en_US'));
     $this->assertEquals($frPage->getTranslation('en_US')->ID, $enPage->ID);
     $this->assertNotNull($frPage->getTranslation('es_ES'));
     $this->assertEquals($frPage->getTranslation('es_ES')->ID, $esPage->ID);
     // test english
     $this->assertEquals($enPage->getTranslations()->column('Locale'), array('fr_FR', 'es_ES'));
     $this->assertNotNull($frPage->getTranslation('fr_FR'));
     $this->assertEquals($enPage->getTranslation('fr_FR')->ID, $frPage->ID);
     $this->assertNotNull($frPage->getTranslation('es_ES'));
     $this->assertEquals($enPage->getTranslation('es_ES')->ID, $esPage->ID);
     // test spanish
     $this->assertEquals($esPage->getTranslations()->column('Locale'), array('fr_FR', 'en_US'));
     $this->assertNotNull($esPage->getTranslation('fr_FR'));
     $this->assertEquals($esPage->getTranslation('fr_FR')->ID, $frPage->ID);
     $this->assertNotNull($esPage->getTranslation('en_US'));
     $this->assertEquals($esPage->getTranslation('en_US')->ID, $enPage->ID);
 }
开发者ID:racontemoi,项目名称:shibuichi,代码行数:29,代码来源:TranslatableTest.php

示例2: SiteTree

 function testTranslationGroupsWhenTranslationIsSubclass()
 {
     // create an English SiteTree
     $enST = new SiteTree();
     $enST->Locale = 'en_US';
     $enST->write();
     // create French and Spanish translations
     $frST = $enST->createTranslation('fr_FR');
     $esST = $enST->createTranslation('es_ES');
     // test that we get the right translations back from each instance
     $this->assertArrayEqualsAfterSort(array('fr_FR', 'es_ES'), $enST->getTranslations()->column('Locale'));
     $this->assertArrayEqualsAfterSort(array('en_US', 'es_ES'), $frST->getTranslations()->column('Locale'));
     $this->assertArrayEqualsAfterSort(array('en_US', 'fr_FR'), $esST->getTranslations()->column('Locale'));
     // this should be considered an edge-case, but on some sites translations
     // may be allowed to be a subclass of the default locale's translation of
     // the same page.  In this case, we need to support getTranslations returning
     // all of the translations, even if one of the translations is a different
     // class from others
     $esST->setClassName('Page');
     $esST->write();
     $esPg = DataObject::get_by_id('Page', $esST->ID, $cache = false);
     // make sure we successfully changed the class
     $this->assertClass('Page', $esPg);
     // and make sure that the class of the others did not change
     $frST = DataObject::get_by_id('SiteTree', $frST->ID, $cache = false);
     $this->assertClass('SiteTree', $frST);
     $enST = DataObject::get_by_id('SiteTree', $enST->ID, $cache = false);
     $this->assertClass('SiteTree', $enST);
     // now that we know our edge case is successfully configured, we need to
     // make sure that we get the right translations back from everything
     $this->assertArrayEqualsAfterSort(array('fr_FR', 'es_ES'), $enST->getTranslations()->column('Locale'));
     $this->assertArrayEqualsAfterSort(array('en_US', 'es_ES'), $frST->getTranslations()->column('Locale'));
     $this->assertArrayEqualsAfterSort(array('en_US', 'fr_FR'), $esPg->getTranslations()->column('Locale'));
     $this->assertEquals($enST->ID, $esPg->getTranslation('en_US')->ID);
     $this->assertEquals($frST->ID, $esPg->getTranslation('fr_FR')->ID);
     $this->assertEquals($esPg->ID, $enST->getTranslation('es_ES')->ID);
     $this->assertEquals($esPg->ID, $frST->getTranslation('es_ES')->ID);
 }
开发者ID:muskie9,项目名称:silverstripe-translatable,代码行数:38,代码来源:TranslatableTest.php


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