當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Section::relatePage方法代碼示例

本文整理匯總了PHP中Concrete\Core\Multilingual\Page\Section\Section::relatePage方法的典型用法代碼示例。如果您正苦於以下問題:PHP Section::relatePage方法的具體用法?PHP Section::relatePage怎麽用?PHP Section::relatePage使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Concrete\Core\Multilingual\Page\Section\Section的用法示例。


在下文中一共展示了Section::relatePage方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: assign

 public function assign()
 {
     $pr = new PageEditResponse();
     if ($this->request->request->get('destID') == $this->page->getCollectionID()) {
         throw new \Exception(t("You cannot assign this page to itself."));
     }
     $destPage = \Page::getByID($_POST['destID']);
     if (Section::isMultilingualSection($destPage)) {
         $ms = Section::getByID($destPage->getCollectionID());
     } else {
         $ms = Section::getBySectionOfSite($destPage);
     }
     if (is_object($ms)) {
         // we need to assign/relate the source ID too, if it doesn't exist
         if (!Section::isAssigned($this->page)) {
             Section::registerPage($this->page);
         }
         Section::relatePage($this->page, $destPage, $ms->getLocale());
         $ih = Core::make('multilingual/interface/flag');
         $icon = $ih->getSectionFlagIcon($ms);
         $pr->setAdditionalDataAttribute('name', $destPage->getCollectionName());
         $pr->setAdditionalDataAttribute('link', $destPage->getCollectionLink());
         $pr->setAdditionalDataAttribute('icon', $icon);
         $pr->setMessage(t('Page assigned.'));
         $pr->outputJSON();
     } else {
         throw new \Exception(t("The destination page doesn't appear to be in a valid multilingual section."));
     }
 }
開發者ID:ceko,項目名稱:concrete5-1,代碼行數:29,代碼來源:multilingual.php

示例2: create_new

 public function create_new()
 {
     $pr = new PageEditResponse();
     $ms = Section::getByID($this->request->request->get('section'));
     // we get the related parent id
     if ($this->page->isPageDraft()) {
         $cParentID = $this->page->getPageDraftTargetParentPageID();
     } else {
         $cParentID = $this->page->getCollectionParentID();
     }
     $cParent = \Page::getByID($cParentID);
     $cParentRelatedID = $ms->getTranslatedPageID($cParent);
     if ($cParentRelatedID > 0) {
         // we copy the page underneath it and store it
         $ct = \PageType::getByID($this->page->getPageTypeID());
         if ($this->page->isPageDraft()) {
             $ptp = new \Permissions($ct);
             if (!$ptp->canAddPageType()) {
                 throw new \Exception(t('You do not have permission to add a page of this type.'));
             }
         }
         $newParent = \Page::getByID($cParentRelatedID);
         $cp = new \Permissions($newParent);
         if ($cp->canAddSubCollection($ct)) {
             if ($this->page->isPageDraft()) {
                 $targetParent = \Page::getByPath(\Config::get('concrete.paths.drafts'));
             } else {
                 $targetParent = $newParent;
             }
             $newPage = $this->page->duplicate($targetParent);
             if (is_object($newPage)) {
                 if ($this->page->isPageDraft()) {
                     $newPage->setPageDraftTargetParentPageID($newParent->getCollectionID());
                     Section::relatePage($this->page, $newPage, $ms->getLocale());
                     $pr->setMessage(t('New draft created.'));
                 } else {
                     // grab the approved version and unapprove it
                     $v = Version::get($newPage, 'ACTIVE');
                     if (is_object($v)) {
                         $v->deny();
                     }
                     $pr->setMessage(t('Unapproved page created. You must publish this page before it is live.'));
                 }
                 $ih = Core::make('multilingual/interface/flag');
                 $icon = (string) $ih->getSectionFlagIcon($ms);
                 $pr->setAdditionalDataAttribute('name', $newPage->getCollectionName());
                 $pr->setAdditionalDataAttribute('link', $newPage->getCollectionLink());
                 $pr->setAdditionalDataAttribute('icon', $icon);
             }
         } else {
             throw new \Exception(t('You do not have permission to add this page to this section of the tree.'));
         }
     }
     $pr->outputJSON();
 }
開發者ID:ppiedaderawnet,項目名稱:concrete5,代碼行數:55,代碼來源:multilingual.php


注:本文中的Concrete\Core\Multilingual\Page\Section\Section::relatePage方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。