Ruslan Brest, rb.labtodo.com
Backend web-developer: CodeIgniter, PHP, MySQL, OpenCart, PrestaShop, MaxSite CMS

Howto

Про Quickcheckout 151x и новые версии Opencart

18 февраля 2013 г. Ruslan Brest Howto » E-commerce » OpenCart4

Я всё никак не найду времени написать статью о том, почему QC не развивается и не поддерживаются новые версии Опенкарт. Заготовки (в ответах людям) периодически появляются, но времени сесть и оформить это, чтобы объяснить сразу всем и сразу - не находится.

Там такая ситуация.

  1. Начиная с 1.5.2 началась бурная перестройка в этой части Опенкарт - что-то связанное с налогами, плюс прочие изменения. Это означает, что модуль надо переделывать тщательно и полностью. Тонкостей налогообложения других стран не знаю, поэтому надо все изменения переносить, заново укорачивать и проверять: проблема в том, что когда я его делал, не нашёл другого способа, кроме как продублировать функционал оформления заказа, и его уже модифицировать. Способа использовать код OC, а не его копию, я не нашёл.
  2. Основной идеей Quickcheckout (QC) был полный отказ от всей адресно-географической информации. А с ней как раз расчет налогов и связан. Представьте: берём стандартный процесс и отрезаем от него половину. Вот это и есть QC. В итоге меня позже уговорили добавить к этому огрызку способы оплаты. Но ограничение-то никуда не делось - возвращать поддержку адресов и гео-зон означает возврат этого всего и в интерфейс, и во внутренности. Это, опять же, полная переделка того, что было.

Это всё не так просто, как может казаться на поверхности. По сути, нужен совершенно другой модуль: чтобы и все способы оплаты могли нормально работать, и совместимость с новыми версиями была. И в том, и в другом случае надо полностью модуль переделывать и на других принципах его строить. То есть переписать вообще всё и с нуля. И делать вместо обрезанной "половинки" (Quickcheckout) полноценный модуль-одностраничник (всё то же самое, что стандартные 6 шагов гармошкой, но на одной странице). То есть совершенно другая идея. Не просто "выбросить адреса", а "сделать стандартное, но очень коротко".

В тот момент (когда появились 1.5.2, 1.5.3) я был сильно занят и долго решал, в каком направлении надо развивать модуль и получится ли. Там архитектурных проблем хватает, поэтому продолжать по-старому было нереально (к тому времени уже не было никого, кто не хотел бы способы оплаты, и вот из-за них как раз нереально).

Потом уже появились альтернативы - и по той же цене, и даже бесплатные варианты. Сейчас, при наличии полноценных альтернатив и активной поддержке новых версий (simpleopencart.com например) писать ещё один такой же модуль-одностраничник и заниматься его поддержкой мне кажется странным - можно просто пользоваться готовым (Simple) для новых версий Опенкарт.

Поэтому если переделывать QC - получится полный аналог Simple, как ни крути. Потому что в старом виде (с обрезанной поддержкой адресной части) его развивать нет смысла (слишком много проблем возникает). И по цене они окажутся одинаковыми, и по внешнему виду, и по функционалу скорей всего (с минимальными отличиями).

А если так, то возникает вопрос - зачем? Если уже есть готовое решение.

Opencart - автопубликация отзывов

8 октября 2012 г. JohnnyVega Howto » E-commerce » OpenCart4

По умолчанию в Opencart'е включено модерирование отзывов к товарам, которые оставляют покупатели. То есть нужно зайти в панель администрирования, далее в "Каталог-Статьи", где будет список еще непроверенных отзывов. Затем заходим в каждый отзыв, и либо одобряем (включаем) его, либо не одобряем (не включаем).

В некоторых случаях владельцы магазинов хотят это поведение изменить, включив автопубликацию отзывов.

Далее...

Opencart - тюнинг полей описания (CKeditor)

30 сентября 2012 г. JohnnyVega Howto » E-commerce » OpenCart21

В Opencart для описаний товара, категории, статей и т.д. используются поля описания. Такие, как на рисунке ниже.

CKEditor custom toolbar

Технически это реализовано с помощью компонента CKEditor - свободного WYSIWYG-редактора, который может быть использован на веб-страницах. В поле описания отображается описание продукта, категории, статьи и т.д. в том виде, который вы увидите в магазине. Это основное достоинство WYSIWYG-редактора.

Разработчики CKEditor заложили в своё детище гораздо больше возможностей, чем первоначально доступно в Opencart. Настало время устранить эту историческую несправедливость :)

Далее...

Opencart: картинка товара в истории заказов покупателя

6 августа 2012 г. Ruslan Brest Howto » OpenCart13
oc153.image-account-order-information_.png

При просмотре истории заказов зарегистрированный покупатель теперь сможет видеть фото товаров. Фото товара используется текущее (т.е. может не совпадать с тем, которое было на момент покупки).

Делалось на текущей версии Opencart из репозитория (т.е. 1531+, commit:a023998).

На 1541 тоже работает.

Далее...

Что такое reward points?

11 июля 2012 г. Ruslan Brest E-commerce » Howto » OpenCart3
Что такое Price in reward points: 200?
Что это означает и для чего это?

Это один из вариантов скидки и повторного привлечения покупателей.

Как это работает?

Далее...

Opencart: как переименовать способ доставки во что-то более подходящее?

22 мая 2012 г. Ruslan Brest Howto » OpenCart26
Как переименовать способ доставки во что-то более подходящее, например "Курьерская доставка по Москве и Московской области"? Где эти файлы лежат и как именно это исправить?

В папке catalog/language/russian/ находятся языковые файлы, которые используются на "витрине" магазина,

в admin/language/russian/ - тексты для админ-части.

Будем менять тексты включенного способа доставки "Фиксированная стоимость доставки". Поэтому нас интересуют файлы .../shipping/flat.php в обеих указанных местах. То есть:

  • catalog/language/russian/shipping/flat.php
  • admin/language/russian/shipping/flat.php

Когда откроете их - увидите строки, которые видны на экране, там уже интуитивно понятно, что на что менять.

В админке тоже поменяйте соответственно, чтобы названия способов доставки совпадали и не было путаницы при их настройке и включении-выключении.

ВНИМАНИЕ: на витрине после изменения этих строк корзину надо очистить от товаров и повторить процесс покупки - иначе эти изменения не будут сразу видны.

Улучшение сортировки на витрине Opencart

21 мая 2012 г. Ruslan Brest Howto » OpenCart25

Поступил вопрос:

можно ли сделать по умолчанию сортировку товаров на витрине, одновременно по двум параметрам: по цене и названию. Тоесть сортируются по цене, а те у кого цены одинаковые уже по имени.
Я сделал по цене, но я заметил что иногда Опенкарт меняет местами товары с одинаковыми параметрами сортировки, например если менять кол-во выводимого товара на одну страницу, ощущение что их тусует в произвольном порядке.

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

Diff приведён ниже, здесь же приведу описание обычными словами, т.к изменение всего одно и небольшое:

Далее...

Как реализовать страхование товаров в Опенкарт для некоторых покупателей?

при оформлении заказа необходимо предложить покупателю возможность застраховать свою посылку(товар), так как есть и те кто не желает доплачивать эту сумму, то нужна функция с возможностью выбора.
То есть при оформлении заказа, если покупатель согласен, то эта сумма плюсуется к общей сумме, если нет, то сумма остаётся без изменений.

Заведите купон на -10% (например) и пусть в корзине применяет - вместо скидки цена будет увеличена на указанную сумму. В купонах может использоваться как процент, так и фиксированная сумма.

Отрицательная величина скидки может применяться и, как можно убедиться, приводит к увеличению суммы при оформлении.

Как модифицируются способы оплаты для использования с QCPM.1513

QCPM из-за необходимости изменения способов оплаты делает невозможным одновременное использование стандартной формы и QCPM: либо одна, либо другая. Поэтому обязательно храните резервные копии изменяемых стандартных файлов (точный путь указан в документации - README или INSTALL файлах).

Суть изменений проста: в TPL файлах способов оплаты содержится самая последняя кнопка подтверждения заказа, на нажатие которой обычно вешается обработчик (javascript-функция). Эта функция делает 2 вещи: окончательно подтверждает заказ (после этого он формируется и становится виден в админке) и делает что-то требуемое этому способу оплаты (переадресация на внешний сайт плат. системы или другие действия).

В стандартной форме заказа все проверки производятся до действия этой кнопки.

В QCPM - нет, поскольку всё на одной странице и эта кнопка может быть нажата сразу после загрузки, первой. Поэтому нам требуется вмешаться в стандартный процесс:Далее...

Quickcheckout: как сделать необязательным поле email?

Как скрыть "Адрес доставки: Адрес (продолжение):"

открыть файл catalog/view/theme/default/template/checkout/quickcheckout.tpl

найти там:

<tr>
                        <td><?php echo $entry_address_2; ?></td>
                        <td><input type="text" name="address_2" value="<?php echo $address_2; ?>" class="large-field"/></td>
                </tr>

и первую строку (<tr>) изменить на:

<tr style="display:none;">

Как сделать ввод почтового ящика необязательным

в этом же файле найдите чуть выше строку

<td><span class="required">*</span> <?php echo $entry_email; ?></td>

Далее...