Вообще непонятно, что пытаетесь сделать, и зачем выполняются запросы к базе. Id не надо передавать в сниппет, в коде можно легко определить Id текущей страницы, поля linkname в таблице site_content нет, утверждение «в запрос передается, но не воспринимается mysql» – полнейший бред, для получения информации о текущей странице не надо обращаться к базе, она уже в памяти. В общем, все сделано не так, как надо. Кстати, еще при вопросах надо указывать версию MODX.
То есть верите в чудеса? А вот я не верю, если запрос правильный, а в базе есть нужная запись, она будет выдана системой.
Насчет бреда - это Вы погорячились, запрос формируется совершенно определенно с числом, команды echo $query достаточно, чтобы в этом убедиться. И от mysql приходит совершенно точно пустой ответ.
То есть, не зная системы, уже умудрились ее испохабить? Для хранения дополнительных параметров специально имеются переменные TV, но раз таблица испорчена, система не поддерживает ее нормальную работу, вот и приходится лишние запросы к базе делать…
Поле linkname было добавлено мною, там хранятся строки текста.
А немного познакомиться с API перед написанием программ слабо? Например, Id определяется так:
Каким образом определить Id текущей страницы в коде?
Есть более простой способ – делать ВСЕ совершенно не так, не портить стандартные таблицы базы и использовать API MODX.
Если есть более простые способы, то просветите.
Quote from: domark at Jul 26, 2011, 02:21 AMТо есть верите в чудеса? А вот я не верю, если запрос правильный, а в базе есть нужная запись, она будет выдана системой.
Насчет бреда - это Вы погорячились, запрос формируется совершенно определенно с числом, команды echo $query достаточно, чтобы в этом убедиться. И от mysql приходит совершенно точно пустой ответ.
Quote from: domark at Jul 26, 2011, 02:21 AMТо есть, не зная системы, уже умудрились ее испохабить? Для хранения дополнительных параметров специально имеются переменные TV, но раз таблица испорчена, система не поддерживает ее нормальную работу, вот и приходится лишние запросы к базе делать…
Поле linkname было добавлено мною, там хранятся строки текста.
Quote from: domark at Jul 26, 2011, 02:21 AMА немного познакомиться с API перед написанием программ слабо? Например, Id определяется так:
Каким образом определить Id текущей страницы в коде?
$modx->documentIdentifier
Quote from: domark at Jul 26, 2011, 02:21 AMЕсть более простой способ – делать ВСЕ совершенно не так, не портить стандартные таблицы базы и использовать API MODX.
Если есть более простые способы, то просветите.
http://www.modx-cms.ru/dokumentatsiya/razrabotka/programmirovanie/modx-api.html
Я внимательно прочитал и увидел, что ВСЕ сделано неверно и правильно будет ВСЕ переделать. Но за Вас это никто делать не будет…
AKots, будьте любезны, читайте повнимательнее, что написано. К чему пустая полемика? Споры с пеной у рта? Вместо того, чтоб написать несодержательный текст со своими домыслами, лучше б сказали, как сделать правильно.
Если сниппет:
echo $modx->documentIdentifier дает пустой ответ, т.е. в нем нет id страницы.
<?php echo $modx->documentIdentifier; ?>
Quote from: domark at Jul 26, 2011, 03:08 AMЯ внимательно прочитал и увидел, что ВСЕ сделано неверно и правильно будет ВСЕ переделать. Но за Вас это никто делать не будет…
AKots, будьте любезны, читайте повнимательнее, что написано. К чему пустая полемика? Споры с пеной у рта? Вместо того, чтоб написать несодержательный текст со своими домыслами, лучше б сказали, как сделать правильно.
Quote from: domark at Jul 26, 2011, 03:08 AMЕсли сниппет:
echo $modx->documentIdentifier дает пустой ответ, т.е. в нем нет id страницы.
не выдает Id ресурса, то судя по всему, MODx сломан. Так как неизвестно, что кроме таблиц, Вы там исправляли, единственный совет – установить систему заново и нечего в ней не изменять.<?php echo $modx->documentIdentifier; ?>
Так бы сразу и написали – есть сайт, горе-программистами неизвестно как переделанный. Решений тут может быть два – самому разбираться в том, что там наделали или нанимать кого-то, кто разберется. Простыми советами на форуме обойтись вряд ли получится, так как на сайте уже не MODX, а неизвестно что.
Переустанавливать - точно не вариант. Это клиентский сайт, в нем уже под тысячу страниц, и какие еще изменения сделаны - неизвестно. Да и программировать под modx пока не планирую, у меня другой хлеб - оптимизация и раскрутка сайтов.