getAllChildren API MODX Evo ✈ Evolution CMS
- Разработчикам
- API
- getAllChildren
Поддержать: USDT TRC20: TBGKTYDs4yzU17vQbobbUB8epFFtFb6PKh
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
4092
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;
}