Всем доброго времени суток.
Вопрос: как настроить по умолчанию параметры всех товаров “Действие при нулевой цене”.
Сейчас при добавлении товара по умолчанию у него выбирается этот параметр в положение “Не разрешать добавлять товар в корзину”.
Нужно где-то в общих настройках CMS поменять это значение по умолчанию на “Разрешить добавить товар в корзину”. Сейчас для всех товаров это вручную приходится делать.
Насколько знаю, никак не задать через настройки.
Можно через модуль “Мои изменения” (не забудьте установить/включить модуль).
-
В /design/backend/templates/addons/ создайте папку my_changes, в ней папку hooks, в которой папку products
Должно получиться /design/backend/templates/addons/my_changes/hooks/products -
В папке products создайте файл update_product_zero_price_action.override.tpl
-
В файл вставьте следующий код:
<div class="control-group"> <label class="control-label" for="elm_zero_price_action">{__("zero_price_action")}:</label> <div class="controls"> <select class="span5" name="product_data[zero_price_action]" id="elm_zero_price_action"> <option value="P" {if $product_data.zero_price_action == "P"}selected="selected"{/if}>{__("zpa_permit")}</option> <option value="R" {if $product_data.zero_price_action == "R"}selected="selected"{/if}>{__("zpa_refuse")}</option> <option value="A" {if $product_data.zero_price_action == "A"}selected="selected"{/if}>{__("zpa_ask_price")}</option> </select> </div> </div>
-
Почистите кэш.
После всех шагов, у новых товаров по-умолчанию будет стоять “Разрешить добавить товар в корзину”.
Изменить массово статус уже имеющимся товарам можно через sql:
UPDATE
cscart_products
SETzero_price_action
= ‘P’
Спасибо, но что-то как-то сложновато:) Можно, конечно, но хочется дождаться ещё ответов, может кто знает попроще путь.
Сомневаюсь, что дождетесь вариант проще.
Через экспорт/импортproducts_11252018.zip (260 Байт)
Это пример файла.
R - Не разрешать добавлять товар в корзину
P - Разрешить добавить товар в корзину
A - Попросить покупателя ввести цену
- Выделяете товары
- Нажимаете Редактировать выбранные
- Оставляет только обязательные поля + Действие при нулевой цене
- Нажимаете Применить значения к выделенным товарам
- Выбираете там нужное значение
- Нажимаете Применить
Сработало! Но только при создании товара вручную! При обмене через Мой склад, по прежнему запрет на добавление… Как быть?
Через phpmyadmin, в таблице cscart_products
надо поменять значение по-умолчанию столбцу zero_price_action
с R
на P
.
Можно sql-запросом:
ALTER TABLE cscart_products CHANGE zero_price_action zero_price_action CHAR(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'P'
После этого, у товаров, загруженных через CommerceML (мой склад, 1С) будет стоять атрибут “Разрешить добавить товар в корзину”.
Для уже заведенных товаров изменений не будет, поэтому нужен второй запрос:
UPDATE cscart_products SET zero_price_action = 'P'
Советую сделать бекап базы перед изменениями.
Прекрасно! Сработало! Большое спасибо! Это сохранится верно? Не придется после каждого обмена запрос вводить? И модуль мои изменения уже не актуален?
Нет, не придется.
Если вручную товары не добавляете, то не актуален.
Благодарю за потраченное время и полезную информацию! Вы очень помогли.