Есть код, отображение подуровня меню, если он активен.
public function activmenu($categ_id, $id) {
$hierarchy = umiHierarchy::getInstance();
$element = $hierarchy->getAllParents($id, true);
$value = (in_array($categ_id, $element)) ? 1: 0;
return $value;
}
Подскажите, как написать условие проверки существования подуровня и вернуть значение 1 или 0 например или значение "poduroven".
public function poduroven($id=NULL) {
if($id have $categ_id) return 'poduroven';
$hierarchy = umiHierarchy::getInstance();
// получаем экземпляр коллекции
$childs = $hierarchy->getChilds($current_page_id);
// получаем список
дочерних страниц, включая не активные и не видимые в меню.
теперь в $childs у нас массив дочерних элементов. Описании функции getChilds() смотрите в официальной документации (http://api.docs.umi-cms.ru/spravochnik_po_klassam_yadra_umicms/model_ierarhii/umihierarchy/getchilds/)
public function poduroven($current_page_id, $id) {
$hierarchy = umiHierarchy::getInstance();
// получаем экземпляр коллекции
$childs = $hierarchy->getChilds($current_page_id);
// получаем список дочерних страниц, включая не активные и не видимые в меню.
if($childs==$id) return '1';
// проверка того что у страницы с id = $categ_id есть хоть одна подстраница с id = $id
Проверка не работает. Или по другому, то как?
это массив, так что проверка будет такой
$value = (in_array($id, $childs)) ? 1: 0;
return $value;
, но это уже больше к php чем к umi
<xsl:variable name="podurovens" select="document(concat('udata://custom/poduroven/',@id,'/',$document-page-id))/udata" />
<a href="{@link}" class="{$podurovens}"><xsl:value-of select="name" /></a>
условие почему-то не работает, условие возвращает все время ноль. а должен вернуть единицу если у страницы с id = $categ_id есть хоть одна подстраница с id = $id
Подскажите как условие написать правильно?
public function poduroven($current_page_id, $id) {
$hierarchy = umiHierarchy::getInstance();
// получаем экземпляр коллекции
$childs = $hierarchy->getChilds($id, true);
// получаем список дочерних страниц, включая не активные и не видимые в меню.
$value = (in_array($current_page_id, $childs)) ? 1: 0;
return $value;
}