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


PHP Page::publish方法代码示例

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


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

示例1: testCanViewStage

 public function testCanViewStage()
 {
     // Create a new page
     $page = new Page();
     $page->URLSegment = 'testpage';
     $page->write();
     $page->publish('Stage', 'Live');
     // Add a stage-only version
     $page->Content = "Version2";
     $page->write();
     $response = $this->get('/testpage');
     $this->assertEquals($response->getStatusCode(), 200, "Doesn't require login for implicit live stage");
     $response = $this->get('/testpage/?stage=Live');
     $this->assertEquals($response->getStatusCode(), 200, "Doesn't require login for explicit live stage");
     try {
         $response = $this->get('/testpage/?stage=Stage');
     } catch (SS_HTTPResponse_Exception $responseException) {
         $response = $responseException->getResponse();
     }
     // should redirect to login
     $this->assertEquals($response->getStatusCode(), 302, 'Redirects to login page when not logged in for draft stage');
     $this->assertContains(Config::inst()->get('Security', 'login_url'), $response->getHeader('Location'));
     $this->logInWithPermission('CMS_ACCESS_CMSMain');
     $response = $this->get('/testpage/?stage=Stage');
     $this->assertEquals($response->getStatusCode(), 200, 'Doesnt redirect to login, but shows page for authenticated user');
 }
开发者ID:aaronleslie,项目名称:aaronunix,代码行数:26,代码来源:ContentControllerPermissionsTest.php

示例2: build

 /**
  * Build page from database
  * @param array $data
  */
 public static function build(array $data)
 {
     if (!isset($data['title'], $data['body'])) {
         return;
     }
     $content = new Page($data['title'], $data['body']);
     if (isset($data['stylesheets'])) {
         foreach ($data['stylesheets'] as $source) {
             $content->addStylesheet($source);
         }
     }
     if (isset($data['javascripts'])) {
         foreach ($data['javascripts'] as $source) {
             $content->addJavascript($source);
         }
     }
     $content->render('system.header');
     if (isset($data['header'])) {
         $content->setHeader($data['header']);
     }
     $content->render('system.footer');
     if (isset($data['footer'])) {
         $content->setFooter($data['footer']);
     }
     return $content->publish();
 }
开发者ID:ZephyrusDev,项目名称:-Hybrid,代码行数:30,代码来源:View.php

示例3: testFindOldPage

 public function testFindOldPage()
 {
     $page = new Page();
     $page->Title = 'Test Page';
     $page->URLSegment = 'test-page';
     $page->write();
     $page->publish('Stage', 'Live');
     $page->URLSegment = 'test';
     $page->write();
     $page->publish('Stage', 'Live');
     $router = new ModelAsController();
     $request = new HTTPRequest('GET', 'test-page/action/id/otherid');
     $request->match('$URLSegment/$Action/$ID/$OtherID');
     $response = $router->handleRequest($request);
     $this->assertEquals($response->getHeader('Location'), Controller::join_links(Director::baseURL() . 'test/action/id/otherid'));
 }
开发者ID:racontemoi,项目名称:shibuichi,代码行数:16,代码来源:ModelAsControllerTest.php

示例4: testDiffedChangesTitle

 public function testDiffedChangesTitle()
 {
     $page = new Page(array('Title' => 'My Title'));
     $page->write();
     $page->publish('Stage', 'Live');
     $page->Title = 'My Changed Title';
     $page->write();
     $page->publish('Stage', 'Live');
     $page->Title = 'My Unpublished Changed Title';
     $page->write();
     // Strip spaces from test output because they're not reliably maintained by the HTML Tidier
     $cleanDiffOutput = function ($val) {
         return str_replace(' ', '', strip_tags($val));
     };
     $this->assertContains(str_replace(' ', '', _t('RSSHistory.TITLECHANGED', 'Title has changed:') . 'My Changed Title'), array_map($cleanDiffOutput, $page->getDiffList()->column('DiffTitle')), 'Detects published title changes');
     $this->assertNotContains(str_replace(' ', '', _t('RSSHistory.TITLECHANGED', 'Title has changed:') . 'My Unpublished Changed Title'), array_map($cleanDiffOutput, $page->getDiffList()->column('DiffTitle')), 'Ignores unpublished title changes');
 }
开发者ID:helpfulrobot,项目名称:silverstripe-versionfeed,代码行数:17,代码来源:VersionFeedTest.php

示例5: setUp

 public function setUp()
 {
     parent::setUp();
     for ($i = 0; $i < 100; $i++) {
         $page = new Page(array('title' => "Page {$i}"));
         $page->write();
         $page->publish('Stage', 'Live');
     }
     $sitemap = new SiteMapPage();
     $sitemap->Title = 'SiteMap';
     $sitemap->write();
 }
开发者ID:Marketo,项目名称:SilverStripe-Performable-Sitemaps,代码行数:12,代码来源:SiteMapControllerTest.php

示例6: testCustomSearchFormClassesToTest

	function testCustomSearchFormClassesToTest() {
		FulltextSearchable::enable('File');
		
		$page = new Page();
		$page->URLSegment = 'whatever';
		$page->Content = 'oh really?';
		$page->write();
		$page->publish('Stage', 'Live'); 
		$controller = new ContentController($page);
		$form = $controller->SearchForm(); 
		
		if (get_class($form) == 'SearchForm') $this->assertEquals(array('File'), $form->getClassesToSearch());
	}
开发者ID:redema,项目名称:silverstripe-cms,代码行数:13,代码来源:ContentControllerSearchExtensionTest.php

示例7: setUp

 public function setUp()
 {
     parent::setUp();
     // create 2 pages
     for ($i = 0; $i < 2; ++$i) {
         $page = new Page(array('Title' => "Page {$i}"));
         $page->write();
         $page->publish('Stage', 'Live');
     }
     // reset configuration for the test.
     Config::nest();
     Config::inst()->update('Foo', 'bar', 'Hello!');
 }
开发者ID:titledk,项目名称:silverstripe-uploaddirrules,代码行数:13,代码来源:UploadDirRulesTest.php

示例8: makePages

 protected function makePages($count, $depth, $prefix = "", $parentID = 0)
 {
     for ($i = 1; $i <= $count; $i++) {
         $page = new Page();
         $page->ParentID = $parentID;
         $page->Title = "Test page {$prefix}{$i}";
         $page->write();
         $page->publish('Stage', 'Live');
         echo "<li>Created '{$page->Title}'";
         if ($depth > 1) {
             $this->makePages($count, $depth - 1, $prefix . "{$i}.", $page->ID);
         }
     }
 }
开发者ID:helpfulrobot,项目名称:silverstripe-frameworktest,代码行数:14,代码来源:FTPageMakerTask.php

示例9: testCanViewStage

 public function testCanViewStage()
 {
     $page = new Page();
     $page->URLSegment = 'testpage';
     $page->write();
     $page->publish('Stage', 'Live');
     $response = $this->get('/testpage');
     $this->assertEquals($response->getStatusCode(), 200);
     $response = $this->get('/testpage/?stage=Live');
     $this->assertEquals($response->getStatusCode(), 200);
     $response = $this->get('/testpage/?stage=Stage');
     // should redirect to login
     $this->assertEquals($response->getStatusCode(), 302);
     $this->logInWithPermission('CMS_ACCESS_CMSMain');
     $response = $this->get('/testpage/?stage=Stage');
     $this->assertEquals($response->getStatusCode(), 200);
 }
开发者ID:rixrix,项目名称:silverstripe-cms,代码行数:17,代码来源:ContentControllerPermissionsTest.php

示例10: testCanViewStage

	public function testCanViewStage() {
		$page = new Page();
		$page->URLSegment = 'testpage';
		$page->write();
		$page->publish('Stage', 'Live');
		
		$response = $this->get('/testpage');
		$this->assertEquals($response->getStatusCode(), 200, 'Doesnt require login for implicit live stage');
		
		$response = $this->get('/testpage/?stage=Live');
		$this->assertEquals($response->getStatusCode(), 200, 'Doesnt require login for explicit live stage');
		
		$response = $this->get('/testpage/?stage=Stage');
		// should redirect to login
		$this->assertEquals($response->getStatusCode(), 302, 'Redirects to login page when not logged in for draft stage');
		$this->assertContains('Security/login', $response->getHeader('Location'));
		
		$this->logInWithPermission('CMS_ACCESS_CMSMain');
		
		$response = $this->get('/testpage/?stage=Stage');
		$this->assertEquals($response->getStatusCode(), 200, 'Doesnt redirect to login, but shows page for authenticated user');
	}
开发者ID:redema,项目名称:silverstripe-cms,代码行数:22,代码来源:ContentControllerPermissionsTest.php

示例11: requireDefaultRecords

 public function requireDefaultRecords()
 {
     parent::requireDefaultRecords();
     //clear all old records
     $bigFmailyPages = DB::query("SELECT \"SiteTree_Live\".\"ID\" FROM \"SiteTree_Live\" WHERE \"SiteTree_Live\".\"ClassName\" = 'BigFamilyPage'")->column();
     if (count($bigFmailyPages)) {
         $ids = "(" . implode(",", $bigFmailyPages) . ")";
         //Delete all children from all stages
         DB::query("DELETE FROM \"SiteTree\" WHERE \"SiteTree\".\"ParentID\" IN {$ids}");
         DB::query("DELETE FROM \"SiteTree_versions\" WHERE \"SiteTree_versions\".\"ParentID\" IN {$ids}");
         DB::query("DELETE FROM \"SiteTree_Live\" WHERE \"SiteTree_Live\".\"ParentID\" IN {$ids}");
         //Delete themselves from all stages
         DB::query("DELETE FROM \"SiteTree\" WHERE \"SiteTree\".\"ID\" IN {$ids}");
         DB::query("DELETE FROM \"SiteTree_versions\" WHERE \"SiteTree_versions\".\"RecordID\" IN {$ids}");
         DB::query("DELETE FROM \"SiteTree_Live\" WHERE \"SiteTree_Live\".\"ID\" IN {$ids}");
     }
     //create new records
     $bigFamilyPages = DataObject::get('BigFamilyPage');
     foreach ($bigFamilyPages as $page) {
         foreach ($page->AllChildren() as $child) {
             $child->delete();
         }
         $page->delete();
     }
     $familyPage = new BigFamilyPage();
     $familyPage->Title = "Big Family";
     $familyPage->write();
     $familyPage->publish('Stage', 'Live');
     foreach (singleton('Employee')->data() as $name) {
         $page = new Page();
         $page->Title = $name;
         $page->MenuTitle = $name;
         $page->ParentID = $familyPage->ID;
         $page->write();
         $page->publish('Stage', 'Live');
     }
     DB::alteration_message("Added default 'BigFamilyPage' and its children pages", "created");
 }
开发者ID:normann,项目名称:silverstripe-frameworktest,代码行数:38,代码来源:BigFamilyPage.php

示例12: testChildOfDraft

 /**
  * go to a page that's been published but is child of an unpublished page
  *
  * NOTE: This test requires nested_urls
  */
 public function testChildOfDraft()
 {
     RootURLController::reset();
     Config::inst()->update('SiteTree', 'nested_urls', true);
     $draft = new Page();
     $draft->Title = 'Root Leve Draft Page';
     $draft->URLSegment = 'root';
     $draft->write();
     $published = new Page();
     $published->Title = 'Published Page Under Draft Page';
     $published->URLSegment = 'sub-root';
     $published->write();
     $published->publish('Stage', 'Live');
     $response = $this->get('root/sub-root');
     $this->assertEquals($response->getStatusCode(), 404, 'The page should not be found since its parent has not been published, in this case http://<yousitename>/root/sub-root or http://<yousitename>/sub-root');
 }
开发者ID:antons-,项目名称:silverstripe-cms,代码行数:21,代码来源:ModelAsControllerTest.php

示例13: Page

 function testTranslationGroupNotRemovedWhenSiteTreeUnpublished()
 {
     $enPage = new Page();
     $enPage->Locale = 'en_US';
     $enPage->write();
     $enPage->publish('Stage', 'Live');
     $enTranslationGroup = $enPage->getTranslationGroup();
     $frPage = $enPage->createTranslation('fr_FR');
     $frPage->write();
     $frPage->publish('Stage', 'Live');
     $frTranslationGroup = $frPage->getTranslationGroup();
     $enPage->doUnpublish();
     $this->assertEquals($enPage->getTranslationGroup(), $enTranslationGroup);
     $frPage->doUnpublish();
     $this->assertEquals($frPage->getTranslationGroup(), $frTranslationGroup);
 }
开发者ID:racontemoi,项目名称:shibuichi,代码行数:16,代码来源:TranslatableTest.php

示例14: requireDefaultRecords

 /**
  * Add default records to database.
  *
  * This function is called whenever the database is built, after the
  * database tables have all been created. Overload this to add default
  * records when the database is built, but make sure you call
  * parent::requireDefaultRecords().
  */
 function requireDefaultRecords()
 {
     parent::requireDefaultRecords();
     // default pages
     if ($this->class == 'SiteTree' && self::$create_default_pages) {
         if (!SiteTree::get_by_link('home')) {
             $homepage = new Page();
             $homepage->Title = _t('SiteTree.DEFAULTHOMETITLE', 'Home');
             $homepage->Content = _t('SiteTree.DEFAULTHOMECONTENT', '<p>Welcome to SilverStripe! This is the default homepage. You can edit this page by opening <a href="admin/">the CMS</a>. You can now access the <a href="http://doc.silverstripe.org">developer documentation</a>, or begin <a href="http://doc.silverstripe.org/doku.php?id=tutorials">the tutorials.</a></p>');
             $homepage->URLSegment = 'home';
             $homepage->Status = 'Published';
             $homepage->Sort = 1;
             $homepage->write();
             $homepage->publish('Stage', 'Live');
             $homepage->flushCache();
             DB::alteration_message('Home page created', 'created');
         }
         if (DB::query("SELECT COUNT(*) FROM \"SiteTree\"")->value() == 1) {
             $aboutus = new Page();
             $aboutus->Title = _t('SiteTree.DEFAULTABOUTTITLE', 'About Us');
             $aboutus->Content = _t('SiteTree.DEFAULTABOUTCONTENT', '<p>You can fill this page out with your own content, or delete it and create your own pages.<br /></p>');
             $aboutus->Status = 'Published';
             $aboutus->Sort = 2;
             $aboutus->write();
             $aboutus->publish('Stage', 'Live');
             $aboutus->flushCache();
             DB::alteration_message('About Us page created', 'created');
             $contactus = new Page();
             $contactus->Title = _t('SiteTree.DEFAULTCONTACTTITLE', 'Contact Us');
             $contactus->Content = _t('SiteTree.DEFAULTCONTACTCONTENT', '<p>You can fill this page out with your own content, or delete it and create your own pages.<br /></p>');
             $contactus->Status = 'Published';
             $contactus->Sort = 3;
             $contactus->write();
             $contactus->publish('Stage', 'Live');
             $contactus->flushCache();
             DB::alteration_message('Contact Us page created', 'created');
         }
     }
     // schema migration
     // @todo Move to migration task once infrastructure is implemented
     if ($this->class == 'SiteTree') {
         $conn = DB::getConn();
         // only execute command if fields haven't been renamed to _obsolete_<fieldname> already by the task
         if (array_key_exists('Viewers', $conn->fieldList('SiteTree'))) {
             $task = new UpgradeSiteTreePermissionSchemaTask();
             $task->run(new SS_HTTPRequest('GET', '/'));
         }
     }
 }
开发者ID:eLBirador,项目名称:AllAboutCity,代码行数:57,代码来源:SiteTree.php

示例15: Page

 /**
  * This test ensures published Subsites Virtual Pages immediately reflect updates
  * to their published target pages. Note - this has to happen when the virtual page
  * is in a different subsite to the page you are editing and republishing,
  * otherwise the test will pass falsely due to current subsite ID being the same.
  */
 function testPublishedSubsiteVirtualPagesUpdateIfTargetPageUpdates()
 {
     // create page
     $p = new Page();
     $p->Content = 'Content';
     $p->Title = 'Title';
     $p->writeToStage('Stage');
     $p->publish('Stage', 'Live');
     $this->assertTrue($p->ExistsOnLive);
     // change to subsite
     $subsite = $this->objFromFixture('Subsite', 'subsite2');
     Subsite::changeSubsite($subsite->ID);
     Subsite::$disable_subsite_filter = false;
     // create svp in subsite
     $svp = new SubsitesVirtualPage();
     $svp->CopyContentFromID = $p->ID;
     $svp->write();
     $svp->writeToStage('Stage');
     $svp->publish('Stage', 'Live');
     $this->assertEquals($svp->SubsiteID, $subsite->ID);
     $this->assertTrue($svp->ExistsOnLive);
     // change back to original subsite ("Main site")
     Subsite::changeSubsite(0);
     // update original page
     $p->Title = 'New Title';
     // "save & publish"
     $p->writeToStage('Stage');
     $p->publish('Stage', 'Live');
     $this->assertNotEquals($p->SubsiteID, $subsite->ID);
     // reload SVP from database
     // can't use DO::get by id because caches.
     $svpdb = $svp->get()->byID($svp->ID);
     // ensure title changed
     $this->assertEquals($svpdb->Title, $p->Title);
 }
开发者ID:helpfulrobot,项目名称:mikenz-silverstripe-simplesubsites,代码行数:41,代码来源:SubsitesVirtualPageTest.php


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