Евгений Борисов

Евгений Борисов

Был в сети 06 июня 2026, 05:32
Заказы принимаю
1) modx_tickets_threads индекс к deleted
2) modx_tickets_votes индекс к class
3) modx_tickets_comments индекс к published, createdby
4) modx_site_content индекс к deleted

Без внедрения в код больше ничего не сделать. В идеале конечно разбить запрос на части. Я думаю у василия это уже в планах, т.к. разговор у нас с ним на эту тему был;-)
А вообще, после простановки этих индексов должен чутка быстрее работать не только листинг тикетов. Кстати, если не сложно покажите SHOW PROFILE и EXPLAIN запроса после простановки индексов.
Если страницы не обязательно создавать с фронта, то можно обойтись TV с типом image и вызовом сниппета TicketComments. Вот так просто и без заморочек можно добавить не только картинку, но и теги к статье. Я именно так и сделал у себя на блоге.
Может бред скажу. Но как правило магазины вызывают определенное событие во время добавления товара в корзину или во время непосредственного формления заказа. Так вот, вам никто не мешает подменить данные у заказываемых товаров. Но тут придется писать плагины и глубоко зашиваться в код, т.к. вам правильно василий ответил — обычно не принято заказывать товары которых нет в наличии.

Можно решить эту задачу под другим углом. Придумать нереально большое число единиц товара и использовать это число как идентификатор того, что товар можно заказать под заказ и его сейчас нет в наличии. Допустим чисто будет 96969696. Ну а дальше всеми любимый phx для вывода информации о том, что этот товар можно заказать только под заказ.
У вас хорошее решение;-) Вот только strip_tags некорректно работает со вторым параметром. Для этих целей лучше использовать вот такую функцию. Ну или вообще брать ядро jevix и писать сниппет с кастомными правилами.

Я, например. Для сайта on-modx.ru использую вышеупомянутую функцию. На сайте agel-nash.ru плагин с jevix'ом.
ждать заплатку
Я думаю пофиксят не скоро. Pull Request от 23.01.2013 с фиксом XSS в FormIT до сих пор еще не приняли и даже не отреагировали в трекере:
tracker.modx.com/issues/9449

не работает с гостями, требует авторизацию
Если я не ошибаюсь, то modxTalks не требует авторизации и работает с гостями.
То есть, в какой-то компонент я это включать не буду — просто маленькая симпатичная хитрость.
Я тоже в ядро зашивать не хочу. Поэтому в
@TODO и написано OR extender.
Вообще изначально я хотел чтобы все инструкции по предварительной обработке данных пользователь писал на чистом php. Потом пришло осознание, что это не каждый сможет и я так же как ты решил добавить поддержку сниппетов. Но потом подумал, что это принципиально ни чем не будет отличаться от вложенных вызовов. Тут и родилась идея с рефакторингом синтаксиса. Т.е. взять за основу родной синтаксис MODX и немного его модернизировать. Например, вместо [[Snippet? ¶m=`val`]] вызывать [{Snippet? ¶m=`val`]}. Или вообще даже сохранить оригинальный синтаксис, но в конечном счете отдавать не 30 одинаковых вызовов в ленте, а самостоятельно выполнить дублирующиеся вызовы и заранее заменить их на плейсхолдеры. В общем как сделаю — узнаешь об этом первым. И там будем уже детальней смотреть и выбирать какой подход лучше.