Максим Кузнецов

Максим Кузнецов

Был в сети 04 августа 2021, 21:51
Заказы принимаю
Ваш вариант будет отрабатывать все дольше и дольше с ростом кол-ва заказов и товаров, поэтому вариант с готовым счетчиком предпочтительнее.
UPD: Впрочем, в то же время он избавляет от необходимости отслеживать побочные ситуации с товарами, такие как отмена заказа и пр. %)
Начать стоит с того, что в рамках товара нет переменной, считающей количество покупок. Для того, чтобы её добавить, необходимо:
— расширить стандартную таблицу товаров, через
плагин или дополнение msFieldsManager
— создать плагин на событие msOnCreateOrder, где вы будете перебирать корзину и приплюсовывать кол-во товаров в новое поле
— в mSearch2 работать с новым полем, как с обычным ms
На событие OnWebPagePrerender получаешь html следующим способом:
$html = &$resource->_output;
дальше уже регуляркой или любым другим удобным способом ищешь вхождение, и если не находишь — пуляешь алерт с id ресурса в modx->log.

Ну и инициализируешь загрузку всех страниц через любой самописный внешний скрипт по прямому запросу к БД.
1. Создается обычный ресурс «список тегов» с псевдонимом tags
2. Кастомной маршрутизацией по шаблону /tags/{item} присваивается плейсхолдер и sendForward-ится на страницу из пункта 1.
Конечно:

1. Добавляете в вызов сниппета sendRedirect еще один параметр, например &order=`айди_заказа`
2. В коде сниппета sendRedirect обрабатываете его и передаете в функцию редиректа:
//...
$order = intval($order);
//...
$modx->sendRedirect($modx->makeUrl($id) . '?order=' . $order, array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
3. Теперь на странице переадресации будет доступен гет-параметр order, который можно передать в свой сниппет, формирующий нужную вам таблицу заказов (msGetOrder).

Да, если вы не пользуетесь феномом и не знаете, как получить гет-параметр, то нужно создать свой сниппет с примерно таким содержимым:
<?php
    return $_GET[$param];

И вызывать на странице следующим образом: [[!snippet_name? &param=`order`]]
*отмахнулся* да блин… Я же говорю — мне без разницы как, кто конкретно и для чего это делает.
Все, что я хотел показать своим первым комментарием — что есть эксплойт рейтинга, не более.

Никаких обид к тебе я не имею, уж прости если произвел обратное впечатление.)

Что до всего остального — ну, пусть это будет моей параноей, не принципиально. И уж Василия по пустякам дергать я точно не хочу. %)
Конечно, все дело именно в этом.)
Ведь так нужен поиск по всем своим комментариям с вопросами и благодарностями другим, правда?

Вероятно, как и
этому пользователю очень удобно искать по твоим комментариям с оправданиями о удалении чужого сайта, да? (забавно, что после комментария об этом, у неё вдруг после 8 страниц с твоими комментариями стали появляться другие пользователи)

Ну и вдогонку, о забавном: интересное совпадение, что после этого комментария, активизировался и вышеозвученный пользователь, и некий свежесозданный Кузнец Максимов, пришедший заминусовать мои комментарии на эту тему..)

Хорошо, что на сайт добавили фичу с просмотром голосующих пользователей, и теперь все это на виду, ага?

Резюмируя: Я не очень сильно хочу разводить полемику на тему твоих способов продвижения из разряда «а вы знаете, что я топ-N разработчик на MODX-e», но если ты пытался меня разубедить в моих выводах — у тебя не получилось..)