Как я понял, вызов сниппета а не кода напрямую не утяжеляет код Утяжеляет, тем более если через MODX-теги делается. Но даже если не через MODX-теги, все равно это лишний вызов объекта сниппета. Процессоры быстрее.
Я все понял. Просто в документации сразу не разберешься, да и с английским не очень дружен... Спасибо огромное за помощь.
Ну тогда в общих чертах все ОК (что-то я как-то проморгал передачу параметров в Smarty-плагин процессора). Но в любом случае, в комменте выше я написал в чем проблема вызова объекта параметров.
У меня там такой код: {$menuParams=$modx->getObject('modPropertySet','top-menu')->getProperties()} … {processor action=«getmenu» ns=«site» params=$menuParams assign=result} {assign var=items value=$result.object} {include file=«top-menu/outer.tpl»}
Ну, я вот вообще далекий от эстетики человек. А к примеру artdevue — он и программер хороший, и с дизайном дружит.
Понял, спасибо. Как я понял, вызов сниппета а не кода напрямую не утяжеляет код, и я могу писать на нем часть функционала? Просто я хотел сделать этот функционал на процессорах.
Имя им Легион)))) Их реально много таких красавцев.
Спасибо за наводку! Обязательно гляну на досуге.
$modx->getObject('modPropertySet','top-menu') Это буквально «получить объект modPropertySet с primary key 'top-menu'». Но для modPropertySet ключ не имя, а id, то есть число. То, как ты его вызываешь, получается неверный PK, конвертируемый xPDO в int (в данном случае вообще никак), и получается, что он получает первый попавшийся объект. В данном случае надо так: $modx->getObject('modPropertySet',array('name'=>'mail-us'))->getProperties()); Но это так, просто к слову. Но вызов сниппетов с наборами параметров таким образом не очень юзабильней. Правильней так: {snippet name="snippet@mail-us"} Но на всякий случай старайся избегать дефисов в названиях. Это очень скользкая дорожка.