в песочнице топик ОК, сейчас гляну. Спасибо!
и все-таки странно… пол дня работало, и не ругался.
Спасибо, понял. в php же в функциях область видимости — локальная, и если нужна глобальная видимость переменной, то необходимо использовать global для этой переменной, к примеру global $modx это я знаю, все-таки php не очень далеко в этом от с++ ушел :) Кстати, раз списались… мы говорили по поводу передачи наборов параметров в процессоры. я дописал код в твои функции, в песочнице топик
Пожалуйста! По поводу нотиса: там действительно косяк. В процессорах внутри функций нет переменной $modx. Есть только $this->modx. То есть правильный кот вот такой (сейчас поправлю в топике): public function getMenuItems(){ $items = array();
$startId = $this->getProperty('startId');
$level = $this->getProperty('level');
$cacheable = $this->getProperty('cacheable');
$id = $this->getProperty('id', 'menu');
$cacheKey = $this->modx->context->key."/{$id}/{$startId}";
if($cacheable){
if($fromCache = $this->modx->cacheManager->get($cacheKey)){
return $fromCache;
}
}
//else
if($items = $this->getItems($startId, $level)){
if($cacheable){
$this->modx->cacheManager->set($cacheKey, $items);
}
}
return $items;
} Как видишь, переменные $id и $startId тоже внутри этой функции объявляются. Так что смотри, чтобы все переменные были объявлены внутри функции (в php же в функциях область видимости — локальная, и если нужна глобальная видимость переменной, то необходимо использовать global для этой переменной, к примеру global $modx). Спасибо за багрепорт!
Я прошел. smarterer.com/scores/ac422a4465a535581cf757e375a3625a ?
Спасибо за статью! Использовал процессор на сайте, все заработало сразу. Только сегодня почему-то он начал выдавать Notice: Undefined variable: modx in /home/v/v98516/v98516.bget.ru/public_html/core/site/processors/getmenu.class.php on line 58 ругается на конструкцию $cacheKey = $modx->context->key.'/{$id}/{$startId}'; Подскажи пожалуйста, что может быть? Если просто в этом месте вставляю {$modx->context->key.'/{$id}/{$startId}'} то выводит 'web' Если из процессора вывожу print_r($modx->context->key.'/{$id}/{$startId}'), то выводит '/page1/4'
Да, я согласен. Это мне вот нужен просто технический интерфейс для доступа к желаемой информации. А у кого-то совершенно другое восприятие. Ему картинки нужны, привычное расположение блоков и т.п.
Интересная статья, на самом деле, для мобильников грузить все данные как для обычных компьютеров не правильно… Да и переход на полную версию тоже желателен, у меня есть куча друзей которые тот же вк просто не воспринимают в мобильной версии.