надеюсь камрад металлер меня поддержит. это было бы логично сделать через модификатор для PHx. тогда и новый плагин не нужен, и логику завернуть посложнее можно.
"Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."
Не используйте Revo для "просто сайтов". Используйте Evo
Who can defeat
the Russian bear?
ну в общем через PHx сделать можно, но запись не получится значительно короче чем [!getfield?id=`ID`&field=`FIELD`!]
Хотя если создать модификатор для каждого из полей, например phcontent, phpub_date, phcreatedby, то можно будет вызывать что-то типа такого [*id:phcontent*], если зафигачить все в один модификатор, то подлиннее [*id:somemod=`field`*]
DirectResize 0.9 beta. PHPThumb, sets of configurations, configuration, binded to specific path. No backward compatibility. |
DirectResize 0.9. PHPThumb, наборы параметров, параметры, привязанные к определенным путям. Без обратной совместимости.
Unfortunately, DirectResize project is closed. If you want to continue development, PM me for access to project page on Google Code. К сожалению, проект DirectResize закрыт. Если вы желаете продолжить разработки, обращайтесь через ПМ для получения доступа к репозиторию на Google Code.
[PLUGIN] DirectResize - as Maxigallery but for single images ::
Download :: [url=
http://modxcms.com/forums/index.php/topic,21490]
[*id:phcontent*]
это можно сделать для всех базовых полей, выглядит отлично
модификаторы надо вручную делать, да? .. не знаком с PHx
если вручную, то как быть с TV?
Но вообще говоря, мне проще всего именно [*id.field*]
так как в сниппете я могу сделать и поиск TV и обычных полей
Ну тогда делать плагин, вешать его на событие, которое будет перехватывать обработку еще до сборки и обработки кода парсером движка. А это значит, что если хочешь по простому - то плагин будет работать только для поля content, а если по взрослому и хочется обрабатывать такую конструкцию еще и в TV, чанках, параметрах сниппетов и т.п. - то придется писать аналог системного парсера (так как это сделано в PHx), который по сути сам будет выполнять функции системного парсера, выполнять сниппеты, подставлять переменные, но вместе с этим еще и учитывать твою специфическую переменную [*ID.FIELD*]
Мягко говоря - непросто. Потому что если ты попробуешь упростить себе задачу и повесить плагин на событие уже после сборки и парсинга всего контента в единую переменную, то обнаружишь, что конструкция [*ID.FIELD*] будет просто вырезана парсером как ошибочная и обработать ее уже не удастся.
Конечно я не рассматриваю случай хака ядра.
DirectResize 0.9 beta. PHPThumb, sets of configurations, configuration, binded to specific path. No backward compatibility. |
DirectResize 0.9. PHPThumb, наборы параметров, параметры, привязанные к определенным путям. Без обратной совместимости.
Unfortunately, DirectResize project is closed. If you want to continue development, PM me for access to project page on Google Code. К сожалению, проект DirectResize закрыт. Если вы желаете продолжить разработки, обращайтесь через ПМ для получения доступа к репозиторию на Google Code.
[PLUGIN] DirectResize - as Maxigallery but for single images ::
Download :: [url=
http://modxcms.com/forums/index.php/topic,21490]
Я так понимаю главная проблема в том, что не хватает событий.
Может, предложить разработчикам:
а) добавить [*ID.FIELD*]
или хотя бы
б) необходимые события, чтобы не нужно было переписывать весь парсер (я понимаю, что подобное переписывание не окупится удобствами от использования [*ID.FIELD*])
Хмм...
Metaller, а Вы точно уверены, что заставить работать без переписывания никак неполучится?..
Нашёл события OnBefore******Save, они не только для документов.
Или я что-то не понимаю?..
Ну а при чем тут OnBefore******Save - это обработка перед сохранением. Вы можете конечно вставлять конструкцию [*ID.FIELD*] а после сохранения она автоматом заменится на [!getfield?id=`ID`&field=`FIELD`!], но это лишь что-то типа функции автозамены при вводе.
Я так понимаю, нужно чтобы в коде всегда было [*ID.FIELD*]
DirectResize 0.9 beta. PHPThumb, sets of configurations, configuration, binded to specific path. No backward compatibility. |
DirectResize 0.9. PHPThumb, наборы параметров, параметры, привязанные к определенным путям. Без обратной совместимости.
Unfortunately, DirectResize project is closed. If you want to continue development, PM me for access to project page on Google Code. К сожалению, проект DirectResize закрыт. Если вы желаете продолжить разработки, обращайтесь через ПМ для получения доступа к репозиторию на Google Code.
[PLUGIN] DirectResize - as Maxigallery but for single images ::
Download :: [url=
http://modxcms.com/forums/index.php/topic,21490]