本文整理匯總了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."));
}
}
示例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();
}