Наумов Алексей

Наумов Алексей

Был в сети 28 июля 2026, 14:21
Заказы принимаю
Ну у вас мне думается, не получится не изменять код miniShop2.

Разве что попробовать как-то использовать механизм корзины и оформления заказа, и то, не уверен.

Я бы копал в сторону некоего «виртуального товара», т.е. вы создаете одну страницу типа Товар в miniShop2, а ваши 6 млн. товаров становятся некими опциями этого товара miniShop2 и он думает что вы покупаете 1 товар, просто у него все время разные опции.
Спасибо! Я тоже ковырял твой скрипт и много в нем успел переписать под себя:)

Расскажи в общих чертах, как теги и h1/ текст на странице меняешь (планируешь менять).

И еще такой вопрос: а как тот же яндекс начнет индексировать ссылки фильтра? Они же формируются ява скриптом, прямых ссылок на фильтры нигде нет…
1 вариант. Запустите 2 поиска: один с использованием msProducts, а второй с pdoResources
2 вариант. Используйте pdoResources, но у него есть параметры управления шаблоном в зависимости от неких условий, попробуйте настроить вывод для товаров одним способом, для категорий — другим
Такой возможности не предусмотрено и она не закладывалась.

Изначальная идея в том, что по-умолчанию новое сообщение не опубликовано и следовательно не доступно с фронтенда. При публикации его на сайте администратор сразу и отвечает на него.

Конечно, вы можете написать некий код, что бы и с фронтэнда отвечать, но какого то общего решения нет. В вашем коде вам нужно просто заполнять поле reply_text у сообщения, это и есть ответ на него.
У компонента есть такая защита, что одно из полей (address) при добавлении нового сообщения должно быть hidden и пустым. Поищите в документации antispamField.

Вероятно вы что-то с ним связанное поменяли.

Вот код из файла easycomm.class.php, который проверяет на спам:

if(!empty($this->config['antispamField'])) {
            if(!empty($data[$this->config['antispamField']])) {
                return $this->error("ec_fe_spam_detected");
            }
        }
Для того, что бы сработал код добавления товара в корзину нужно:
1. Открыть к примеру чанк msProduct.Content — этот чанк поставляется для примера с miniShop2.
2. Найти в нем те моменты, что обеспечивают работоспособность именно добавления в корзину. Я сразу убираю всякие вспомогательные вещи (код, классы и прочее) и оставляю только то, что прям вот необходимо:
2.1 Форма
<form class="ms2_form" method="post">...</form>
2.2. Внутри формы id товара:
<input type="hidden" name="id" value="[[*id]]" />
количество, сколько добавляем в корзину (можно сделать hidden)
<input type="number" name="count" id="product_price" value="1" />
кнопка добавление в корзину
<button type="submit" name="ms2_action" value="cart/add">КУПИТЬ</button>
Все. Этого достаточно, что бы товар улетел в корзину.

Если этот код вызывается внутри msProducts, то не [[*id]], а [[+id]] соответственно.