本文整理汇总了PHP中Document::getChildrenOf方法的典型用法代码示例。如果您正苦于以下问题:PHP Document::getChildrenOf方法的具体用法?PHP Document::getChildrenOf怎么用?PHP Document::getChildrenOf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Document
的用法示例。
在下文中一共展示了Document::getChildrenOf方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: executeGalleryPicsList
public function executeGalleryPicsList()
{
$parentId = $this->getRequestParameter("parentMediaId");
$code = '';
if ($deleteId = $this->getRequestParameter("deleteId")) {
if ($delObj = Document::getDocumentInstance($deleteId)) {
$delObj->delete();
}
}
$children = Document::getChildrenOf($parentId, "Media");
$res = '
<ul id="images-grid" class="ui-sortable">
###images###
</ul>
<div class="clear"></div>
';
foreach ($children as $pic) {
$code .= '
<li id="image_' . $pic->getId() . '" class="ui-state-default">
<img src="' . $pic->getRelativeThumbUrl() . '" title="' . $pic->getDescription() . '">
<div class="image-options">
<!--a class="image-zoom" href="javascript:void(0);"></a-->
<a class="image-edit" href="javascript:void(0);"></a>
<a class="image-delete" href="javascript:void(0);"></a>
</div>
</li>
';
}
if ($code) {
exit(str_replace('###images###', $code, $res));
} else {
exit($code);
}
}
示例2: executePageGallery
public function executePageGallery()
{
$this->setLayout(false);
$id = $this->getRequestParameter('pageref');
if ($page = Document::getDocumentInstance($id)) {
$this->images = Document::getChildrenOf($id, "Media");
//$this->galleryLabel = $page->getGalleryLabel();
}
}
示例3: executeDetail
public function executeDetail()
{
$this->setLayout(false);
if ($id = $this->getRequestParameter('News_id')) {
if ($this->news = Document::getDocumentInstance($id)) {
//$reads = $this->news->getRds()+1;
//$this->news->setRds($reads);
//$this->news->save();
$this->images = Document::getChildrenOf($id, 'Media', false);
}
}
}
示例4: executeEditBrand
public function executeEditBrand()
{
$this->setLayout(false);
$ownersArr = array('' => '--- изберете ---');
$root = Rootfolder::getRootfolderByModule('clients');
$owners = Document::getChildrenOf($root->getId(), 'Client');
foreach ($owners as $ow) {
$ownersArr[$ow->getId()] = $ow->getLabel();
}
$this->ownersArr = $ownersArr;
$this->kindsArr = UtilsHelper::loadTrademarkTypes();
return PanelService::objectEdit('search', 'Brand', $this);
}
示例5: executeGalleryPicsList
public function executeGalleryPicsList()
{
$parentId = $this->getRequestParameter("parentMediaId");
$type = $this->getRequestParameter("gallery_type");
$code = '';
if ($type == 1) {
if ($I18n = Document::getDocumentByCulture($parentId, null, true)) {
$parentId = $I18n->getId();
} else {
exit($code);
}
}
if ($deleteId = $this->getRequestParameter("deleteId")) {
if ($delObj = Document::getDocumentInstance($deleteId)) {
$delObj->delete();
}
}
$children = Document::getChildrenOf($parentId, "Media");
if ($type == 1) {
// var_dump($children);
$res = '
<ul id="images-grid" class="ui-sortable">
###images###
</ul>
<div class="clear"></div>
';
foreach ($children as $pic) {
$code .= '
<li id="image_' . $pic->getId() . '" class="ui-state-default">
<img src="' . $pic->getRelativeThumbUrl() . '">
<div class="image-options">
<!--<a class="image-zoom" href="javascript:void(0);"></a> <a class="image-edit" href="javascript:void(0);"></a>--> <a class="image-delete" href="javascript:void(0);"></a>
</div>
</li>
';
}
if ($code) {
exit(str_replace('###images###', $code, $res));
} else {
exit($code);
}
} else {
$code = "";
foreach ($children as $pic) {
$code .= "<li><img src='" . $pic->getRelativeThumbUrl() . "'><img onclick='deleteGalleryMedia(" . $parentId . ", " . $pic->getId() . ");' src='/images/icons/delete.png'/></li>";
}
}
exit($code);
}
示例6: executeMainNav
public function executeMainNav()
{
$this->setLayout(false);
$menuItems = array();
if ($menu = Document::getDocumentByExclusiveTag("website_menu_main")) {
$topics = Document::getChildrenOf($menu->getId(), 'Topic');
foreach ($topics as $t) {
$pages = Document::getChildrenOf($t->getId(), 'Page');
foreach ($pages as $p) {
if (Document::hasTag($p, 'website_page_index')) {
$menuItems[$t->getId()] = $p;
break;
}
}
}
}
$this->menuItems = $menuItems;
}
示例7: run_dm
function run_dm($task, $args)
{
ini_set("memory_limit", "6146M");
ini_set("display_errors", 1);
define('SF_ROOT_DIR', sfConfig::get('sf_root_dir'));
define('SF_APP', 'frontend');
define('SF_ENVIRONMENT', 'prod');
define('SF_DEBUG', true);
require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php';
$databaseManager = new sfDatabaseManager();
$databaseManager->initialize();
sfConfig::set('sf_cache_objects', false);
sfConfig::set('sf_cache_relations', false);
sfConfig::set('sf_use_relations_cache', false);
$c = new Criteria();
//$c->add(ImportSessionPeer::CREATED_AT, "2014-10-12", Criteria::GREATER_THAN);
//$c->add(ImportSessionPeer::IMPORT_ID, null, Criteria::ISNOTNULL);
$c->addJoin(ImportSessionPeer::IMPORT_ID, ImportPeer::ID, Criteria::LEFT_JOIN);
$c->add(ImportPeer::SYSTEM, 3);
$c->add(ImportSessionPeer::CREATED_AT, "2014-11-21", Criteria::GREATER_EQUAL);
$importSessions = ImportSessionPeer::doSelect($c);
$i = 1;
foreach ($importSessions as $importSession) {
$res = Document::getChildrenOf($importSession->getId(), "SearchMatch");
foreach ($res as $r) {
$r->delete();
echo ".";
}
$importSession->delete();
echo "+";
$search_index_path = SF_ROOT_DIR . '/cache/search/' . $importSession->getId();
echo "DELETING " . $search_index_path . "\n";
exec("rm -fr {$search_index_path}");
echo $i . "\n";
$i++;
}
sfConfig::set('sf_cache_objects', true);
sfConfig::set('sf_cache_relations', true);
sfConfig::set('sf_use_relations_cache', true);
exit("\n");
}
示例8: executeAccountCreate
public function executeAccountCreate()
{
$this->setLayout(false);
//assign vars
$folder = Document::getDocumentByExclusiveTag("categories_folder_" . SECTION);
if ($folder) {
$cats = Document::getChildrenOf($folder->getId(), "Category");
foreach ($cats as $cat) {
$categories[$cat->getId()] = $cat->getlabel();
}
}
$first = array(0 => "all categories");
$categories = $first + $categories;
$this->categories = $categories;
if ($this->media) {
$this->cv = $this->media;
} elseif ($this->user && $this->type == "user") {
$cv_id = $this->user->getCv();
$cv = Document::getDocumentInstance($cv_id);
$this->cv = $cv;
$accpage = Document::getDocumentByExclusiveTag("website_page_account");
if ($accpage) {
$this->accountPageUrl = $accpage->getHref(false);
}
}
if ($this->media) {
$this->logo = $this->media;
} elseif ($this->user && $this->type == "company") {
$logo_id = $this->company->getLogo();
$logo = Document::getDocumentInstance($logo_id);
$this->logo = $logo;
$accpage = Document::getDocumentByExclusiveTag("website_page_account");
if ($accpage) {
$this->accountPageUrl = $accpage->getHref(false);
}
}
if ($this->getRequestParameter('submitted') == "submitted") {
$new = false;
$search = array(",", "/", "\\", "[", "]", "?", "!", "@", "#", "\$", "~", "&", "'", '"', "=", "-", ":", ";", "*", "%", "+", "(", ")", "{", "}", "|", "§", "<", ">", "_", "“", "�?", "„", "`");
$replace = array("", "", "", "", "", "", "", "", "", "", "", "", " ", " ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
$params = $this->getRequest()->getParameterHolder()->getAll();
foreach ($params as $key => $param) {
if (!is_array($param)) {
${$key} = trim($param);
} else {
${$key} = $param;
}
}
if ($this->user) {
if ($this->user->getLogin() == "admin") {
UtilsHelper::setFlashMsg("Admin account cannot be edited in frontend");
$this->noform = true;
return "Success";
}
UtilsHelper::setFlashMsg("Your profile has been successfully updated", UtilsHelper::MSG_SUCCESS);
} else {
$new = true;
$code = md5(time());
$this->user = new User();
$this->user->setBackend(0);
// MAKE SURE NO ACCESS TO ADMIN IS ALLOWED
$this->user->setActivationCode($code);
}
if ($this->type == "company") {
$this->user->setFirstname($firstname);
$this->user->setLastname($lastname);
$this->user->setEmail($email);
$this->user->setPhone($phone);
if (!empty($password)) {
$this->user->setPassword($password);
}
}
////////// GET SAVE FOLDERS //////////////
$userFolders = array();
$mediaFolders = array();
$alphaFolder = false;
$mediaAlphaFolder = false;
$rootfolderUser = Rootfolder::getRootfolderByModule('user');
$rootfolderMedia = Rootfolder::getRootfolderByModule('media');
if ($rootfolderUser) {
$folders = Document::getChildrenOf($rootfolderUser->getId(), 'Folder');
}
if ($rootfolderMedia) {
$foldersMedia = Document::getChildrenOf($rootfolderMedia->getId(), 'Folder');
}
foreach ($folders as $folder) {
$userFolders[$folder->getLabel()] = $folder->getId();
}
foreach ($foldersMedia as $folder) {
$mediaFolders[$folder->getLabel()] = $folder->getId();
}
$title = @str_replace($search, $replace, $firstname);
$title = trim(@str_replace(' ', ' ', $title));
$title = mb_strtoupper($title);
$firstLetter = mb_substr($title, 0, 1);
if (array_key_exists($firstLetter, $userFolders)) {
$alphaFolder = Document::getDocumentInstance($userFolders[$firstLetter]);
}
if (array_key_exists($firstLetter, $mediaFolders)) {
$mediaAlphaFolder = Document::getDocumentInstance($mediaFolders[$firstLetter]);
//.........这里部分代码省略.........
示例9: run_generate_cache
//.........这里部分代码省略.........
}
}
$ind++;
Document::cacheObj($result, $model, false);
}
echo_cms(" ====> " . $ind . " " . $model . " Document(s) cached.");
//echo_cms_sep();
}
}
if ($exit) {
exit;
}
} catch (Expection $e) {
echo_cms_error(" Error: {$e}");
}
}
if (!$listsFlag) {
echo "\n";
//echo_cms_sep();
echo_cms("Writing relations cache");
Relation::checkRelationCache('lock');
try {
$c = new Criteria();
$c->addAscendingOrderByColumn('id1');
$c->addAscendingOrderByColumn('document_model2');
$c->addAscendingOrderByColumn('sort_order');
$relations = RelationPeer::doSelect($c);
$relationsFile = sfConfig::get('sf_root_dir') . "/cache/objcache/childrenRelations.php";
echo_cms("Processing children :");
$i = 0;
$content = "<?php \n";
$oldIDModel = '';
$currIDModel = '';
$idStr = '';
foreach ($relations as $relation) {
$currIDModel = $relation->getId1() . ':' . $relation->getDocumentModel2();
if ($i == 0) {
$oldIDModel = $currIDModel;
}
$i++;
echo $i . "\t\t\r";
if ($currIDModel == $oldIDModel) {
$idStr .= "," . $relation->getId2();
} else {
$idStr = substr($idStr, 1);
$content .= "\$_Rel[" . $oldId1 . "][\"" . $oldModel2 . "\"] = explode(\",\", \"" . $idStr . "\");\n";
$idStr = "," . $relation->getId2();
}
$oldIDModel = $currIDModel;
$oldId1 = $relation->getId1();
$oldModel2 = $relation->getDocumentModel2();
}
if ($idStr) {
$idStr = substr($idStr, 1);
$content .= "\$_Rel[" . $oldId1 . "][\"" . $oldModel2 . "\"] = explode(\",\", \"" . $idStr . "\");\n";
}
echo "\n";
$content .= "\n?>";
//echo_cms_sep();
if (FileHelper::writeFile($relationsFile, $content)) {
echo_cms($relationsFile . " written successfully");
} else {
echo_cms_error("Error writing " . $relationsFile . " !");
}
//echo_cms_sep();
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
Relation::checkRelationCache('unlock');
}
if (!$relationsFlag) {
echo "\n";
//echo_cms_sep();
echo_cms_title("Writing Lists cache");
$listsRootFolder = Rootfolder::getRootfolderByModule("lists");
if ($listsRootFolder) {
$lists = Document::getChildrenOf($listsRootFolder->getId(), "Lists");
}
foreach ($lists as $list) {
$listId = $list->getListId();
echo "\t\tprocessing \"" . $listId . "\" list ...";
$listPath = sfConfig::get('sf_root_dir') . "/cache/listscache/" . $listId . ".php";
@unlink($listPath);
$content = "<?php \n";
$content .= "\$listItemsForSelect = array(\n";
$items = Lists::getListitemsForSelect($listId, array(), false);
foreach ($items as $key => $item) {
$content .= "\"" . str_replace("\"", "\\\"", $key) . "\" => \"" . str_replace("\"", "\\\"", $item) . "\",\n";
}
$content .= ");\n?>";
if (FileHelper::writeFile($listPath, $content)) {
echo_cms(" Done!");
} else {
echo_cms_error(" Error!");
}
}
//echo_cms_sep();
}
sfConfig::set("sf_use_relations_cache", true);
}
示例10: executeAddNewTrademark
public function executeAddNewTrademark()
{
$this->setLayout(false);
$this->trademarkTypes = UtilsHelper::loadTrademarkTypes();
if ($trademark = Document::getDocumentInstance($this->getRequestParameter('trademark_id'))) {
if (get_class($trademark) != 'Trademark') {
$trademark = null;
}
}
if (!$trademark) {
$trademark = new Trademark();
}
$ownersArr = array();
$root = Rootfolder::getRootfolderByModule('clients');
$owners = Document::getChildrenOf($root->getId(), 'Client');
foreach ($owners as $ow) {
$ownersArr[$ow->getId()] = $ow->getLabel();
}
$this->ownersArr = $ownersArr;
$success = false;
if ($this->getRequestParameter('submit') > '') {
// check input data
$request = $this->getRequest();
$params = $request->getParameterHolder()->getAll();
//var_dump($params);
$errors = false;
$fields = array("label" => 'Наименование', "application_number" => 'Заявка номер', "kind" => 'Тип', "application_date" => 'Дата на заявяване', "expires_on" => 'Срок', "contestation" => 'Краен срок за опозиция', "nice_classes" => 'Класове по Ницска класификация', "rights_owner" => 'Притежател', "office_of_origin" => 'Държава на регистрация', "designated_contracting_party" => 'Държави в които е в сила');
foreach ($fields as $fl => $label) {
$val = trim($params[$fl]);
if ($val == '') {
if ($fl == 'rights_owner') {
if ($params['owner'] == '') {
$errors = true;
$request->setError('err' . $fl, '- ' . $label);
}
} else {
$errors = true;
$request->setError('err' . $fl, '- ' . $label);
}
}
}
$image = null;
if ($errors) {
UtilsHelper::setFlashMsg('Моля, въведете необходимите данни:<br>', UtilsHelper::MSG_ERROR);
} else {
if ($request->getFileName('image')) {
try {
$image = Media::upload('image', 'upload', array('image/gif', 'image/jpeg', 'image/jpg', 'image/png'));
//var_dump($image);
list($w, $h) = getimagesize($image->getServerAbsoluteUrl());
if ($w > $h) {
$image->resizeImage("thumbs", null, 105);
} else {
$image->resizeImage("thumbs", 95);
}
} catch (Exception $e) {
$errors = true;
$request->setError('errImage', '- ' . UtilsHelper::Localize('media.' . $e->getMessage()));
}
}
if ($errors) {
// remove uploaded image
if ($image) {
$image->delete();
}
UtilsHelper::setFlashMsg('Моля, коригирайте:<br>', UtilsHelper::MSG_ERROR);
}
}
// if everithing is OK
if (!$errors) {
//$trademark = new Brand();
$trademark->setLabel($params['label']);
$trademark->setFromSystem(1);
if ($params['owner'] > '') {
//$trademark->setClientId($params['owner']);
$client = Document::getDocumentInstance($params['owner']);
$trademark->setRightsOwner($client->getLabel());
} else {
$val = trim($params['rights_owner']);
$client = new Client();
$client->setLabel($val);
$client->save();
//$trademark->setClientId($client->getId());
$this->client = $client;
$trademark->setRightsOwner($val);
}
$trademark->setApplicationNumber($params['application_number']);
$trademark->setRegisterNumber($params['register_number']);
if ($params['registration_date']) {
$trademark->setRegistrationDate($params['registration_date']);
}
$trademark->setKind($params['kind']);
$trademark->setApplicationDate($params['application_date']);
$trademark->setStatus($params['status']);
$trademark->setExpiresOn($params['expires_on']);
$trademark->setContestation($params['contestation']);
$trademark->setPublications($params['publications']);
$trademark->setViennaClasses(str_replace(' ', '', $params['vienna_classes']));
$trademark->setColors($params['colors']);
$trademark->setNiceClasses(str_replace(' ', '', $params['nice_classes']));
//.........这里部分代码省略.........
示例11: executeAddSearchTemplate
public function executeAddSearchTemplate()
{
$this->setLayout(false);
$root = Rootfolder::getRootfolderByModule('search');
$brands = Document::getChildrenOf($root->getId(), 'Brand');
foreach ($brands as $b) {
$brandsArr[$b->getId()] = $b->getLabel();
}
$this->brands = $brandsArr;
$success = false;
if ($objId = $this->getRequestParameter('obj_id')) {
$search = Document::getDocumentInstance($objId);
//var_dump($search);
} else {
$search = new Search();
}
if ($this->getRequestParameter('submit') > '') {
// check input data
$request = $this->getRequest();
$params = $request->getParameterHolder()->getAll();
//var_dump($params);
$brandId = $params['brand'];
$brand = Document::getDocumentInstance($brandId);
//var_dump($brand);
$fields = array('label', 'application_number', 'register_number', 'registration_date', 'application_date', 'expires_on', 'vienna_classes', 'nice_classes', 'rights_owner', 'rights_representative', 'office_of_origin', 'designated_contracting_party');
/*
$search->setLabel($params['label']);
$search->setRightsOwner($params['rights_owner']);
$search->setApplicationNumber($params['application_number']);
$search->setRegisterNumber($params['register_number']);
$search->setRegistrationDate ($params['registration_date']);
$search->setApplicationDate($params['application_date']);
$search->setStatus($params['status']);
$search->setExpiresOn($params['expires_on']);
$search->setViennaClasses($params['vienna_classes']);
$search->setNiceClasses($params['nice_classes']);
//$search->setrightsOwnerAddress($params['rights_owner_address']);
$search->setRightsRepresentative($params['rights_representative']);
//$search->setRightsRepresentativeAddress($params['rights_representative_address']);
$search->setOfficeOfOrigin($params['office_of_origin']);
$search->setDesignatedContractingParty($params['designated_contracting_party']);
*/
$notEmpty = 0;
foreach ($fields as $fl) {
$setter = 'set' . UtilsHelper::convertFieldName($fl);
if (isset($params[$fl])) {
$v = trim($params[$fl]);
if ($v) {
$notEmpty++;
}
$search->{$setter}($v);
} else {
$search->{$setter}(null);
}
}
if ($notEmpty > 0) {
$search->save(null, $brand);
$success = true;
} else {
UtilsHelper::setFlashMsg('Моля, въведете критерии за търсене!', UtilsHelper::MSG_ERROR);
}
//var_dump($search);
}
$this->success = $success;
$this->obj = $search;
}
示例12: executeProductCategoriesList
public function executeProductCategoriesList()
{
$this->setLayout(false);
$c = new Criteria();
$this->categories = CategoryPeer::doSelect($c);
$prodNum = array();
foreach ($this->categories as $cat) {
$id = $cat->getId();
$products = Document::getChildrenOf($cat, "Product", false);
// count ACTIVE childrens
$cnt = 0;
foreach ($products as $product) {
if ($product->getPublicationStatus() == UtilsHelper::STATUS_ACTIVE) {
$cnt++;
}
}
$prodNum[$id] = $cnt;
}
$this->prodNum = $prodNum;
$this->currentId = $this->getRequestParameter("Category_id");
}
示例13: backend_select
function backend_select($name, $input = null, $option_tags = null, $options = array(), $methode = null)
{
$code = getDivLabel($options, $name);
if ($options['validate']) {
$errSpan = "<span id='" . $name . "Error'></span>";
}
if ($options['unique']) {
if (substr(get_class($input), -4) == "I18n") {
$parentClass = substr(get_class($input), 0, -4);
} else {
$parentClass = null;
}
if ($input) {
$children = Document::getChildrenOf(Document::getParentOf($input->getId(), $parentClass, false), ucfirst($options['model']));
$objListitem = $input->{$methode}();
} else {
$children = Document::getChildrenOf(sfContext::getInstance()->getRequest()->getParameter('parent'), ucfirst($options['model']));
$objListitem = null;
}
foreach ($children as $child) {
$listitem = $child->{$methode}();
if ($objListitem != $listitem) {
unset($option_tags[$listitem]);
}
}
}
$code .= select_tag($name, options_for_select($option_tags, getVal($input, $methode, $name)), clearOptions($options, 1));
$code .= $errSpan;
return $code;
}
示例14: frontend_select
function frontend_select($name, $input = null, $option_tags = null, $options = array(), $methode = null)
{
$context = sfContext::getInstance();
$request = $context->getRequest();
$errors = $request->getErrors();
//var_dump($errors);
if (array_key_exists("err" . $name, $errors)) {
$options["class"] .= " error";
}
$errSpan = "";
$code = getDivLabel($options, $name);
if (array_key_exists('validate', $options)) {
$errSpan = "<br><span id='" . $name . "Error'></span>";
}
if (array_key_exists('unique', $options)) {
$parentClass = null;
if ($input) {
$children = Document::getChildrenOf(Document::getParentOf($input->getId(), $parentClass, false), ucfirst($options['model']));
$objListitem = $input->{$methode}();
} else {
$children = Document::getChildrenOf($request->getParameter('parent'), ucfirst($options['model']));
$objListitem = null;
}
foreach ($children as $child) {
$listitem = $child->{$methode}();
if ($objListitem != $listitem) {
unset($option_tags[$listitem]);
}
}
}
$code .= select_tag($name, options_for_select($option_tags, getVal($input, $methode, $name)), clearOptions($options, 1));
$code .= $errSpan;
return $code;
}
示例15: getSiteMap
public static function getSiteMap($root = null, &$sitemap, $depth = 1000, $level = 1, $path = null, $getIndex = false, $getInvisible = false)
{
if ($level > $depth) {
return array();
}
$nolabel = UtilsHelper::Localize("website.frontend.nolabel");
if (!$root) {
$root = Rootfolder::getRootfolderByModule("website");
if (!$root) {
return;
}
}
if (is_object($root)) {
$root = $root->getId();
}
$pathSet = false;
if (Document::hasChildren($root)) {
// $oldRelationsFlag = sfConfig::get('sf_cache_relations');
// sfConfig::set('sf_cache_relations', false);
try {
$children = Document::getChildrenOf($root, null, true, false);
foreach ($children as $child) {
// skip Urlrewrite objects
if (get_class($child) == "Urlrewrite" || get_class($child) == "Media") {
continue;
}
$href = "";
$label = $nolabel;
$childId = $child->getId();
$class = get_class($child);
$showItem = true;
if (Document::getStatus($child) != UtilsHelper::STATUS_ACTIVE) {
continue;
}
if (!$getIndex && Document::hasTag($child, "website_page_index")) {
continue;
}
if (!$getInvisible) {
if ($class == 'Page' && Document::hasTag($child, "website_page_nonvisible") || $class == 'Topic' && Document::hasTag($child, "website_topic_nonvisible")) {
$id = $childId;
$showItem = false;
//continue;
}
}
if ($showItem) {
if ($class == "Page") {
$type = $child->getPageType();
$secure = $child->getIsSecure();
//$label = $child->getLabel();
$label = $child->getNavigationTitle();
$href = $child->getHref();
$id = $childId;
} elseif ($class == "Topic") {
$label .= $child->getLabel();
// " (".$child->getLabel().")";
$indexPage = $child->getIndexPage();
$id = 0;
if ($indexPage) {
//$id = $indexPage->getId();
$id = $childId;
$href = $indexPage->getHref();
$label = $indexPage->getLabel();
$type = $indexPage->getPageType();
// if ($type == "REFERENCE")
// {
// //echo "--- Topic: ".$id." ---\n";
// $pg = Document::getDocumentByCulture($indexPage->getPageId(), null, true); // get PageI18n object
// if($pg)
// {
// $id = $pg->getId();
// $href = $pg->getHref();
// $secure = $pg->getIsSecure();
// }
// }
}
} else {
$id = $childId;
$label = $child->getLabel();
}
}
if ($id && !$pathSet) {
$path[] = $id;
$pathSet = true;
} else {
$c = count($path);
$path[$c - 1] = $id;
}
$sitemap[$root][$childId]['path'] = $path;
$sitemap[$root][$childId]['id'] = $id;
$sitemap[$root][$childId]['href'] = $href;
$sitemap[$root][$childId]['label'] = $label;
if (array_key_exists('secure', $sitemap[$root][$childId])) {
$sitemap[$root][$childId]['secure'] = $secure;
}
$sitemap[$root][$childId]['level'] = $level;
$sitemap[$root][$childId]['model'] = $class;
$sitemap[$root][$childId]['show'] = $showItem;
self::getSiteMap($child->getId(), $sitemap, $depth, $level + 1, $path, $getIndex, $getInvisible);
}
} catch (Exception $e) {
//.........这里部分代码省略.........