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


PHP SiteTree::doPublish方法代码示例

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


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

示例1: publish

 /**
  * Simplifies publishing of an actual page instance (since migrations are run from command line).
  *
  * @param    SiteTree $page
  * @param    bool $force If set to false, will not publish if the page has a draft version to prevent
  *                                accidentally publishing a draft page.
  *
  * TODO: Possibly change default for $force to false, but will need to start versioning this module to help prevent issues with backward compatibility.
  *
  * @throws    MigrationException
  */
 public static function publish(SiteTree $page, $force = true)
 {
     try {
         static::whileAdmin(function () use($page, $force) {
             if ($page->isPublished() || $force) {
                 $page->doPublish();
             } else {
                 $page->write();
             }
         });
     } catch (Exception $e) {
         throw new MigrationException("Cannot publish page: " . $e->getMessage(), 0, $e);
     }
 }
开发者ID:patricknelson,项目名称:silverstripe-migrations,代码行数:25,代码来源:Migration.php

示例2: SiteTree

 function testChangingClassOfDefaultLocaleTranslationChangesOthersWhenPublished()
 {
     // create an English SiteTree
     $enST = new SiteTree();
     $enST->Locale = 'en_US';
     $enST->write();
     $enST->doPublish();
     // create and publish French and Spanish translations
     $frST = $enST->createTranslation('fr_FR');
     $this->assertTrue($frST->doPublish(), 'should have been able to publish French translation');
     $esST = $enST->createTranslation('es_ES');
     $this->assertTrue($esST->doPublish(), 'should have been able to publish Spanish translation');
     // change the class name of the default locale's translation (as CMS admin would)
     // and publish the change - we should see both versions of English change class
     $enST->setClassName('Page');
     $enST->doPublish();
     $this->assertClass('Page', Versioned::get_one_by_stage('SiteTree', 'Stage', '"ID" = ' . $enST->ID));
     $this->assertClass('Page', Versioned::get_one_by_stage('SiteTree', 'Live', '"ID" = ' . $enST->ID));
     // and all of the draft versions of translations:
     $this->assertClass('Page', Versioned::get_one_by_stage('SiteTree', 'Stage', '"ID" = ' . $frST->ID));
     $this->assertClass('Page', Versioned::get_one_by_stage('SiteTree', 'Stage', '"ID" = ' . $esST->ID));
     // and all of the live versions of translations as well:
     $this->assertClass('Page', Versioned::get_one_by_stage('SiteTree', 'Live', '"ID" = ' . $frST->ID));
     $this->assertClass('Page', Versioned::get_one_by_stage('SiteTree', 'Live', '"ID" = ' . $esST->ID));
 }
开发者ID:muskie9,项目名称:silverstripe-translatable,代码行数:25,代码来源:TranslatableTest.php

示例3: publish

 /**
  * Simplifies publishing of an actual page instance (since migrations are run from command line).
  *
  * @param	SiteTree	$page
  * @throws	MigrationException
  */
 public static function publish(SiteTree $page)
 {
     try {
         static::loginAsAdmin();
         $page->doPublish();
     } catch (Exception $e) {
         throw new MigrationException("Cannot publish page: " . $e->getMessage(), 0, $e);
     }
 }
开发者ID:helpfulrobot,项目名称:patricknelson-silverstripe-migrations,代码行数:15,代码来源:Migration.php


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