Поддержать Проект

Обратная связь

[MODX] Guru
  • Информация
  • Разработчикам
    • Теги
    • API
    • DBAPI
    • System Variables
    • MMrules
  • Дополнения
  • Виджеты
  • Уроки
  • Разработчики
  • Готовые примеры
  • Блог
  • Конфиги
  • HTML коды
© [MODX] Guru
  • API

getChildIds API MODX Evo ✈ Evolution CMS

  • Разработчикам
  • API
  • getChildIds
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
2715

getChildIds API MODX Evo ✈ Evolution CMS

Возвращает массив дочерних документов, учитывая глубину

Замечание: getAllChildren() возвращает информацию о дочерних документах только первого уровня.

array getChildIds(mixed $id[, int $depth[, array $children]]);

$id - стартовый идентификатор документа

$depth - количество просматриваемых уровней вложения

$children - массив с конечными значениями


Формат данных результата:

Array (		 
	[псевдоним1] => id1		 
	[псевдоним2] => id2 
)

Сортировка идет по положению в меню (menuindex). При этом документы добавляются по уровням. То есть сначала идут документы первого уровня, потом второго.


Пример

/**Структура документов:
-Статьи (1)
--Недвижимость (11)
---Эконом(111)
---Элитная(112)
--Авто (12)
**/
$modx->getChildIds (1); //вернет информацию о документах 11,12,111,112
$modx->getChildIds (111); //вернет пустой массив

Смотрите также: getActiveChildren


Источник Функции

function getChildIds($id, $depth= 10, $children= array ()) {
	$c= null;
	foreach ($this->documentMap as $mapEntry) {
		if (isset ($mapEntry[$id])) {
			$childId= $mapEntry[$id];
			$childKey= array_search($childId, $this->documentListing);
			if (!$childKey) {
				$childKey= "$childId";
			}
			$c[$childKey]= $childId;
		}
	}
	$depth--;
	if (is_array($c)) {
		if (is_array($children)) {
			$children= $children + $c;
		} else {
			$children= $c;
		}
		if ($depth) {
			foreach ($c as $child) {
				$children= $children + $this->getChildIds($child, $depth, $children);
			}
		}
	}
	return $children;
}