wihr Posted August 4, 2023 Share Posted August 4, 2023 Чтобы телефон клиент вводил на первом шаге, а потом сразу выбор способа доставки. Link to comment Share on other sites More sharing options...
Ewonta Posted August 5, 2023 Share Posted August 5, 2023 Адрес доставки нужен для расчёта стоимости, если у Вас доставка не зависит от адреса, то можете сделать следующие шаги: 1) Переопределяем класс classes/checkout/CheckoutAddressesStep.php 2) В методе handleRequest вставляем параметры переменной $requestParams, тем самым всегда у Вас к адресу клиента будет один и тот же адрес для всех. $requestParams['id_address_delivery'] = 1; // ID адреса $requestParams['id_address_invoice'] = 1; // ID адреса $requestParams['confirm-addresses'] = true; // Ставим что адрес всегда валидный, то есть заполненый $requestParams['use_same_invoice'] = true; 3) Берём из админки любой адрес, а именно его ID или создаём новый и добавляем. 4) Скрываем шаг доставки, есть 2 способа: переопределяем класс controllers/front/OrderController.php и комментируем шаг доставки (скриншот) либо просто на странице оформления заказа скрываем стилями шаг доставки Нужно протестировать и выбрать нужный способ. Темы и модули на PrestaShop 1 Link to comment Share on other sites More sharing options...
wihr Posted August 13, 2023 Author Share Posted August 13, 2023 On 8/5/2023 at 11:46 AM, Ewonta said: Адрес доставки нужен для расчёта стоимости, если у Вас доставка не зависит от адреса, то можете сделать следующие шаги: 1) Переопределяем класс classes/checkout/CheckoutAddressesStep.php 2) В методе handleRequest вставляем параметры переменной $requestParams, тем самым всегда у Вас к адресу клиента будет один и тот же адрес для всех. $requestParams['id_address_delivery'] = 1; // ID адреса $requestParams['id_address_invoice'] = 1; // ID адреса $requestParams['confirm-addresses'] = true; // Ставим что адрес всегда валидный, то есть заполненый $requestParams['use_same_invoice'] = true; 3) Берём из админки любой адрес, а именно его ID или создаём новый и добавляем. 4) Скрываем шаг доставки, есть 2 способа: переопределяем класс controllers/front/OrderController.php и комментируем шаг доставки (скриншот) либо просто на странице оформления заказа скрываем стилями шаг доставки Нужно протестировать и выбрать нужный способ. Темы и модули на PrestaShop Спасибо большое, увы я новичек в этом движке, уже потом понял, что доставку не организовать так. Но мне не охота парить клиентов заполнением стольких полей, как хотя бы удалить лишние поля из заполнения заказа? Link to comment Share on other sites More sharing options...
Ewonta Posted August 13, 2023 Share Posted August 13, 2023 Из админ-панели возможно только сформировать поля адреса клиента в зависимости от страны (скриншот 1) и задать обязательные поля у самих клиентов (скриншот 2), попробуйте поработать с этим.Темы и модули на PrestaShop Link to comment Share on other sites More sharing options...
wihr Posted August 13, 2023 Author Share Posted August 13, 2023 это все сделал, я думаю надо где то в шаблоне убрать их, но бьюсь второй день не могу найти где Link to comment Share on other sites More sharing options...
Ewonta Posted August 13, 2023 Share Posted August 13, 2023 Если Вам нужно убрать поля в шаблоне, то это делается по адресу /themes/classic/templates/customer/_partials/address-form.tpl Находим цикл перебора доступных полей и пропускаем нужное Вам поле, чтобы оно не отображалось. {block name='form_field'} {if $field.name eq "alias"} {* Skipping the field display *} {elseif $field.name eq "address1"} {* Skipping the field display *} {else} {form_field field=$field} {/if} {/block} Просто в цикле добавляем нужное поле: {elseif $field.name eq "address1"} Тем самым, поля пропускаются и отображаются только нужные Вам. 1 Link to comment Share on other sites More sharing options...
wihr Posted August 13, 2023 Author Share Posted August 13, 2023 Большое спасибо 1 Link to comment Share on other sites More sharing options...
wihr Posted August 13, 2023 Author Share Posted August 13, 2023 А еще не в тему не подскажете как добавить кнопку в корзину около каждого товара в списке товаров. Примерно вот так но у каждого товара Link to comment Share on other sites More sharing options...
Ewonta Posted August 13, 2023 Share Posted August 13, 2023 Вот тут рассказывал как это сделать Link to comment Share on other sites More sharing options...
wihr Posted August 30, 2023 Author Share Posted August 30, 2023 On 8/13/2023 at 11:16 AM, Ewonta said: Если Вам нужно убрать поля в шаблоне, то это делается по адресу /themes/classic/templates/customer/_partials/address-form.tpl Находим цикл перебора доступных полей и пропускаем нужное Вам поле, чтобы оно не отображалось. {block name='form_field'} {if $field.name eq "alias"} {* Skipping the field display *} {elseif $field.name eq "address1"} {* Skipping the field display *} {else} {form_field field=$field} {/if} {/block} Просто в цикле добавляем нужное поле: {elseif $field.name eq "address1"} Тем самым, поля пропускаются и отображаются только нужные Вам. Все вроде бы работало, но в соответствующие поля ничего не записываеться NULL. И в других местах начинаються проблемы. Как бы сделать чтобы было не NULL а "" ? Link to comment Share on other sites More sharing options...
Ewonta Posted August 30, 2023 Share Posted August 30, 2023 (edited) 2 hours ago, wihr said: Все вроде бы работало, но в соответствующие поля ничего не записываеться NULL. И в других местах начинаються проблемы. Как бы сделать чтобы было не NULL а "" ? Тогда Вам просто нужно не пропускать поля, а вставить скрытые, в этом случае, Вы можете вставить любую информацию. {block name='form_field'} {if $field.name eq "alias"} {* Skipping the field display *} {elseif $field.name eq "address1"} <input type="hidden" name="address1" value="Всё что угодно" /> {else} {form_field field=$field} {/if} {/block} Edited August 30, 2023 by Ewonta (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now