getAllChildren API MODX Evo ✈ Evolution CMS
- Разработчикам
- API
- getAllChildren
Menu
- addEventListener
- changeWebUserPassword
- clearCache
- getActiveChildren
- getAllChildren
- getCachePath
- getChildIds
- getChunk
- getConfig
- getDocument
- getDocumentChildren
- getDocumentChildrenTVarOutput
- getDocumentChildrenTVars
- getDocumentObject
- getDocuments
- getFullTableName
- getKeywords
- getLoginUserID
- getLoginUserName
- getLoginUserType
- getManagerPath
- getMETATags
- getPageInfo
- getParent
- getParentIds
- getPlaceholder
- getSnippetId
- getSnippetName
- getTemplateVar
- getTemplateVarOutput
- getTemplateVars
- getUserData
- getUserDocGroups
- getUserInfo
- getVersionData
- getWebUserInfo
- hasPermission
- insideManager
- invokeEvent
- isBackend
- isFrontend
- isMemberOfWebGroup
- logEvent
- makeList
- makeUrl
- mapPath
- parseChunk
- parseText
- parseProperties
- putChunk
- regClientCSS
- regClientHTMLBlock
- regClientScript
- regClientStartupHTMLBlock
- regClientStartupScript
- removeAllEventListener
- removeEventListener
- runSnippet
- sendAlert
- setPlaceholder
- stripTags
- toPlaceholder
- toPlaceholders
- userLoggedIn
- webAlert
- sendmail
2695
getAllChildren API MODX Evo ✈ Evolution CMS
Возвращает информацию обо всех дочерних документах, включая неопубликованные и удаленные
Замечание: getAllChildren() возвращает информацию о дочерних документах только первого уровня.
array getAllChildren(mixed $id[, string $sort[, string $dir[, string $fields]]]);
$id - идентификатор родительского документа
$sort - поле, по которому будет производиться сортировка
- по умолчанию: menuindex
$dir - вариант сортировки:
- ASC - по возрастанию, DESC - по убыванию
- по умолчанию: ASC
$fields - список необходимых полей
по умолчанию: id, pagetitle, description, parent, alias, menutitle
Формат данных результата:
Array ( [0] => Array ( [id] => 50 [pagetitle] => Документ 1 [description] => [parent] => 16 [alias] => [menutitle] => ) [1] => Array ( [id] => 48 [pagetitle] => Документ 2 [description] => [parent] => 16 [alias] => [menutitle] => ) )
Пример
/**Структура документов: -Статьи (1) --Недвижимость (11) ---Эконом(111) ---Элитная(112) --Авто (12) **/ $modx->getActiveChildren(1); //вернет информацию о документах 11 и 12
Смотрите также:
getActiveChildren
Источник Функции
Файл: manager/includes/document.parser.inc.php
Строка: 1312
function getAllChildren($id= 0, $sort= 'menuindex', $dir= 'ASC', $fields= 'id, pagetitle, description, parent, alias, menutitle') { $tblsc= $this->getFullTableName("site_content"); $tbldg= $this->getFullTableName("document_groups"); // modify field names to use sc. table reference $fields= 'sc.' . implode(',sc.', preg_replace("/^\s/i", "", explode(',', $fields))); $sort= 'sc.' . implode(',sc.', preg_replace("/^\s/i", "", explode(',', $sort))); // get document groups for current user if ($docgrp= $this->getUserDocGroups()) $docgrp= implode(",", $docgrp); // build query $access= ($this->isFrontend() ? "sc.privateweb=0" : "1='" . $_SESSION['mgrRole'] . "' OR sc.privatemgr=0") . (!$docgrp ? "" : " OR dg.document_group IN ($docgrp)"); $sql= "SELECT DISTINCT $fields FROM $tblsc sc LEFT JOIN $tbldg dg on dg.document = sc.id WHERE sc.parent = '$id' AND ($access) GROUP BY sc.id ORDER BY $sort $dir;"; $result= $this->dbQuery($sql); $resourceArray= array (); for ($i= 0; $i < @ $this->recordCount($result); $i++) { array_push($resourceArray, @ $this->fetchRow($result)); } return $resourceArray; }