blind писал(а): ↑25 авг 2022, 19:13
Я сегодня целый день пытался это сделать. Но мозгов не хватает. Я не понимаю как вывести на страницу simplecheckout_cart.twig вот эти переменные.
quantity_1, minimum_km. Но что то мне подсказывает что этого будет не достаточно, так как есть проверка на кратность. Изначальный вопрос состоял в том как отключить эту проверку. Где смотреть, в каких файлах. Потому как в интернете я более менее внятной инфы найти не могу.
изначально в контроллере есть строка,
к примеру $data['product_category']
дальше идет строка например 'minimum_km' => $result['minimum_km'],
Значит, для вывода в нужном месте мы
пишем примерно так
{% for product_id in product_category %}
наш кусок кода
<input class="quantity-product type="text" name="quantity" onblur="btn({% if quantity_1 > 0 %}{{ minimum_km }}{% else %}{{ minimum }}{% endif %});" size="5" value="{% if quantity_1 > 0 %}{{ minimum_km }}{% else %}{{ minimum }}{% endif %}" id="input-quantity" onkeyup="validate_quantity(this,'{% if quantity_1 > 0 %}{{ minimum_km }}{% else %}{{ minimum }}{% endif %}')">
{% endfor %}
примерно так...
но проще просто отключить проверку или установить минимум 0, а лучше quantity_1 ....
Для этого мы находим поле которое показывает сайту минимальное число в контроллере
оно будет в примерно таком вот списке...
'product_option_value_id' => $product_option_value['product_option_value_id'],
'name' => $result['name'],
'description' => $result['description'],
'meta_title' => $result['meta_title'],
'meta_description' => $result['meta_description'],
'meta_keyword' => $result['meta_keyword'],
'minimum_km ' => $result['minimum_km '],
'tag' => $result['tag']
======
далее мы меняем его значение, например на quantity_1
(ЭТО СРАБОТАЕТ ЕСЛИ В МОДЕЛИ ЗАПРОС ПОЛУЧАЕТ И ТО И ТО, ЕСЛИ НЕ ПОЛУЧАЕТ И ТО И ТО, НАДО ДОПИСАТЬ ПРИСОЕДИНЕНИЕ К БД ЧЕРЕЗ ДЖОИН, ( В СПИСКЕ ВЫШЕ ЗНАЧЕНИЯ КОТОРЫЕ ПОЛУЧАЕТ КОНТРОЛЛЕР, ДУМАЮ ОНО ТАМ БУДЕТ, СУТЬ ОДИНАКОВАЯ ЖЕ))
'minimum_km ' => $result['quantity_1'],
ниже оставляем кусок чтобы вернуть в случае чего
// 'minimum_km ' => $result[''minimum_km '],
теперь это поле если оно активно, оно будет брать значение из quantity_1, которое как я понимаю, и есть число минимального заказа.
ну а из минусов, нельзя использовать значение минимального поставщика.
в каком именно контроллере не знаю, наверное у корзины, или у вариантов доставки, или в том же, в котором минимальное число для заказа идет, тоже не знаю, никогда не пользовался такой функцией.
=========================
Если слишком лениво этим всем заниматься -
идем в базу данных, пишем запрос :
UPDATE pr_tablitsa_huitsa set minimum_km = 0
таким образом мы установим минималку в 0.
Если прайс лист поставщика обновляется постоянно, к примеру раз в день, тогда идем в события базы данных, и ставим этот же запрос на цикл, и он постоянно будет ставить 0, в определенное время.
Это ленивый вариант, минус в том - пока запрос не обновит бд, то минут 10 ошибка будет мешать.
ставить надо не на точное время когда обновляется поставщик, а спустя минут 10, чтобы все обновилось.
Ну либо найти запрос в модели модуля который обновляет это поле и убрать оттуда обновление этого поля, SQL примитивный по этому я не буду писать как выглядит запрос, и так всем понятно.