Quote from: Voyager at Apr 20, 2010, 04:23 AM
Бред. Id редактируемого ресурса в сниппете определяется элементарно в одно выражение.
И зачем эту ерунду написали? Что за «редактируемый ресурс» в сниппете? Сниппеты выполняются тогда, когда ресурсы не редактируются. И перед тем как ерунду писать, неплохо было бы хоть немного в поставленной задаче разобраться. Лучше бы промолчали и не позорились.
Quote from: AKots at Apr 20, 2010, 06:46 AM
«редактируемый ресурс» в сниппете? Ну-ну, перечитайте еще раз что я написал.
А сами не пробовали перечитать? Дословно «Id редактируемого ресурса в сниппете» - это что?
Quote from: Voyager at Apr 20, 2010, 05:45 AM
Или вас смутило что я куски кода на php сниппетами называю?
И что в сниппете можно получать параметры извне?
Вы вообще знаете что такое сниппет и как он работает?
Вообще-то, если Вы не в курсе, в MODx имеется своя терминология, в которой сниппетами называются определенные элементы, а не любые фрагменты программ. Если хотите, чтобы Вас понимали, придерживайтесь этой терминологии.
А по конкретному решению – в принципе безразлично, сделать eval или плагин, трудоемкость примерно одинакова (разве что Вы не умеете плагины делать и боитесь этого), так же как и применение global $id или $_REQUEST[’id’] ($_GET[’id’] по ряду причин не подойдет) – результат будет одинаковый, но использование плагинов мне кажется более наглядным и удобным, чем создание длинных строк для eval. А то, что Вы считаете любое решение, отличного от известного Вам бредом, не слишком хорошо Вас характеризует.
Quote from: Voyager at Apr 20, 2010, 07:28 AM
что сниппет вызвать, что кучу кода написать в TV - дело вкуса
Ну конечно, можно все вывернуть наизнанку, но все же логичнее использовать элементы в MODx так, как это предусмотрено.
Quote from: Voyager at Apr 20, 2010, 07:28 AM
Но поверьте, в этом случае это неоправдано
Не верю, так как не вижу ничего, кроме голословных утверждений. В MODx специально разработана система событий, позволяющая многое сделать более удобно и логично.
Всем большое спасибо за ваши ответы в моей теме, они мне очень помогли!
Сделал через $_GET, так как данное решение более простое и удобное в моём случае (не нужно ничего дополнительно создавать, проще описать в одном месте).
Однако хотелось бы поподробнее узнать о работе плагинов и событиях. Думаю, что к тому моменту, как придётся что-то снова делать на МодХ, буду использовать Revolution, который к тому времени будет стабильный.. Жаль, что разработчики не нашли достаточно времени, чтобы описать различные события и доступные для изменения объекты для каждого события.. К примеру, я совершенно не понял, откуда взялось $content у события PreRender и почему его нет когда Render. Это всё неочевидно и отталкивает от применения плагинов на своём сайте.. То есть сначала, конечно, хочется полистать документацию, разобраться, а не "методом тыка" (или копанием в исходниках МодХ) узнавать для себя какие-то новые вещи.. Отсутствие документации отталкивает от применения данных вещей..
Если говорить о каких-то глобальных проблемах - у МодХ многое реализовано криво, но это уже не изменить.. Конечно, если есть какой-то метод - он должен работать везде.. Да и в целом API и структура базы не очень хорошо сделаны (дополнительные и обычные поля должны обрабатываться одинаково, как считываться, так и записываться с помощью API), но по этой части претензий как бы и нет - всё-таки это не фреймворк а-ля Symfony/Django..
Quote from: Voyager at Apr 21, 2010, 01:56 AM
Как раз для такого есть стандартные средства - tv, сниппеты.
Сниппеты как раз не для такого. Кроме потока слов не вижу ни одного разумного объяснения, чем плагины, назначаемые на конкретное событие, хуже TV. Лучше же тем, что код в плагине более нагляден, чем строчка в TV, и предоставляется больше возможностей по управлению.