Как автоматически выбирать варианты оформления заказа в opencart? - PullRequest
1 голос
/ 05 января 2012

В магазине, который я разрабатываю, пользователи могут видеть цены и добавлять товары в корзину, только если они создали учетную запись.После этого они могут добавлять товары в корзину.Параметры Billing Details и Delivery Details автоматически заполняются адресом пользователя.Способ доставки является бесплатным, а способ оплаты - «наложенным платежом».

Как я могу автоматически выбирать эти параметры и скрывать их, чтобы единственным оставленным шагом было подтверждение заказа?

Я предполагаю, что файл шаблона, который мне нужно изменить, catalog/view/theme/default/template/checkout/checkout.tpl, но его длина составляет почти 1 тыс. Строк, и он использует ajax, которого я не знаю ...

Я пытался сделать это в течение нескольких часовпоэтому любая помощь будет принята с благодарностью!

Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 07 января 2012

Если кто-то наткнется на этот вопрос, я найду ответ здесь .Он работает для опции аккаунта, доставки, оплаты, но не работает для биллинга step2 (если вы попытаетесь нажать кнопку продолжения в step2 с помощью jquery, он просто отправит его в бесконечный цикл).

Решение: В основном вы нажимаете кнопку Продолжить с помощью Jquery, а затем скрываете соответствующий шаг / шаги с помощью CSS (/catalog/view/theme/default/stylesheet/stylesheet.css):

#checkout, #payment-method {
    display:none;
}

Следующее из форума сообщества opencart :

Чтобы пропустить опцию учетной записи , просто скопируйте и вставьте этот код сверхукаталога / view / theme / default / template / checkout / login.tpl:

<script language="Javascript" type="text/javascript">
$(document).ready(function(){
  $('#button-account').trigger('click');
});
</script>

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

Чтобы пропустить вариант доставки просто скопируйте и вставьте этот код в начало каталога / view / theme / default / template / checkout / shipping.tpl:

<script language="Javascript" type="text/javascript">
$(document).ready(function(){
  $('#button-shipping').trigger('click');
});
</script>

Toпропустите способ оплаты , просто скопируйте и вставьте этот код наначало каталога / view / theme / default / template / checkout / payment.tpl:

<script language="Javascript" type="text/javascript">
$(document).ready(function(){
  $('#button-payment').trigger('click');
});
</script>

В этом случае в opencart 1.5 вам также придется изменить этот код (строка 36):

<input type="checkbox" name="agree" value="1"/>

к этому:

<input type="checkbox" name="agree" value="1" checked="checked"/>

Помните, что эти приемы будут работать, только если выбран вариант по умолчанию (или если вы заставляете opencart для автоматического выбораодин конкретный вариант).

1 голос
/ 08 марта 2012

В Opencart 1.5.2.1 некоторые имена кнопок могли быть изменены.

Кнопка учетной записи осталась прежней.

Чтобы удалить способ оплаты:

<script language="Javascript" type="text/javascript">
    $(document).ready(function(){
        $('#button-payment-method').trigger('click');
    });
</script>

Чтобы удалить способ доставки / доставки:

<script language="Javascript" type="text/javascript">
    $(document).ready(function(){
        $('#button-shipping-method').trigger('click');
    });
</script>

Проверьте каждую кнопку, чтобы увидеть, действительно ли предоставленный Javascript вызывает идентификатор нужной кнопки.

Связанный CSS должен выглядеть следующим образом:

/* Modified checkout */

#shipping-method, #payment-method {
    display:none;
}
...