Виктор
Модификация модуля массовой генерации скидок на товары
Довольно удобный модуль, который позволяет назначать скидку на выборку товаров (по производителю, категории или вручную). Можно назначить скидку числом или процентом от суммы, а так же указать временной диапазон действия скидки.
Часто предоставляемого функционала бывает недостаточно, поэтому логичным будет модернизировать модуль, чтобы он удовлетворял заявленным требованиям.
В данном случае для товаров ведется цена закупки, необходимо чтобы при массовом назначении скидки стоимость товара была не ниже цены закупки. Реализация подразумевает, что при назначении скидки процентом, процент назначается от маржи (разницы цены товара и цены закупки). Скидка числом назначается только если итоговая цены выше цены закупки. Если у товара не проставлена цена закупки (например по ошибке), скидка не назначается. Кроме этого в список товаров добавлено отображения цены закупки, цены со скидкой и срока действия скидки.
PS 1.7: добавить пароль клиента в письмо отправляемое при регистрации пользователя
И наконец, что бы завершить тему с паролями в email, рассмотрим ситуацию с письмом «Добро пожаловать», которое отправляется при регистрации новой клиентской записи. Отправка этого письма зависит от настройки опции «Отправить email после регистрации» в настройках клиента в параметрах магазина.
Шаблон письма несмотря на многообещающий заголовок «Вот ваши данные для входа» содержит только email клиента, упоминания о пароле нет, и данные пароля в шаблон письма не передаются.
Если же вы хотите, чтобы пароль клиенту высылался в этом письме, прежде всего необходимо сделать правки в файле classes/form/CustomerPersister.php, а именно в функции sendConfirmationMail, отвечающей за отправку письма с регистрационными данными.
PS 1.7: добавить пароль клиента в письмо отправляемое при преобразовании аккаунта
В продолжение темы текста пароля в письме клиенту. Как известно, если в Prestashop включена возможность заказа без создания учетной записи (гостевой заказ), данные пользователя все равно сохраняются в списке клиентов. В последующем эти гостевые регистрации можно преобразовать в учетные записи клиентов в админке магазина. Пароль клиента в этом случае генерируется автоматически.
Проблема в том, что письмо, уведомляющее пользователя о преобразовании его гостевой учетной записи в полноценную этот пароль не содержит. Клиенту в этом приходится создавать новый пароль через процедуру восстановления пароля.
PS 1.7: добавить пароль клиента в письмо отправляемое при восстановлении пароля
В Prestashop 1.7 восстановление пароля пользователя происходит по ссылке, высылаемой в письме на зарегистрированный email. После перехода по ссылке клиенту должен ввести новый пароль и его подтверждение. После этого на зарегистрированный email приходит письмо с темой «Ваш новый пароль», но новый пароль это письмо не содержит.
Это прежде всего нелогично, а кроме того опыт показывает, что пользователь, забывший пароль один раз, как правило забывает его снова, особенно, если не посещает интернет-магазин достаточно долго. В этой ситуации разумней было бы все же выслать новый пароль на email, чтобы клиент смог найти его в своем почтовом ящике с помощью поиска, а не возился с процедурой восстановления пароля всякий раз при следующем посещении сайта.
Модуль для отображения брошенных корзин в аккаунте клиента
Мо
дуль создает в учетной записи клиента новый раздел «Мои корзины», в котором отображаются все не пустые корзины которые он собрал но заказ не завершил. Клиент может вновь вернуться к ранее собранной корзине и сделать её активной снова или выбрать определенный товар и добавить его в новую корзину.
Модуль будет полезен в ситуации, когда клиент по какой-либо причине не завершил заказ и желает заказать ранее собранные товары сразу, а не заниматься их поиском в каталоге.
Список глобальных переменных шаблона Prestashop 1.7
Структура шаблона в Prestashop 1.7 отличается от используемой в более ранних версия. То же касается и глобальных переменных шаблона.
Приведу здесь их список с пояснениями:
Валюта:
{$currency.name} -> Название активной валюты.
{$currency.iso_code} -> ISO-код активной валюты.
{$currency.sign} -> Символ активной валюты
{$currency.iso_code_num} -> числовой код ISO активной валюты
Добавление возможности изменения даты создания товара
Дата создания товара учитывается Prestashop при отображении товара как при сортировке в каталоге, так и на странице «Новые товары» и в блоке новых товаров. Можно управлять этим отображением указывая срок в днях, в течении которого товары считаются новыми, но нельзя поменять порядок их отображения — первыми всегда будут показаны товары, добавленные последними.
Для того, что бы отобразить в начале списка определенные товары, нужно изменить дату их добавления, а эта возможность в админке Prestashop не предусмотрена, но добавит её довольно просто.
Нюансы перевода текстов в Prestashop 1.6
Не все сторонние модули имеют перевод на русский язык «из коробки». В такой ситуации приходится переводить их самостоятельно, с помощью инструментов Prestashop в разделе «Локализация» — «Переводы».
Проблема в том, что этот перевод будет работать только для выбранного шаблона из установленных в этой копии CMS, соответственно при переносе модуля в другую установку перевод придется делать снова.
Итак, что же нужно сделать:
Отключение правил корзины для товаров со скидкой
Возможна ситуация, когда вы хотите ограничить снижение цены товара запретив использование купонов (правил корзины) для товаров со скидкой. В Prestashop такая возможность не предусмотрена, придется модифицировать код ядра системы. Существует два пути — простой (просто добавить ограничения в файл класса правил корзины CartRule.php), и более сложный, подразумевающий также модификацию интерфейса админки, что бы можно было изменять настройки по каждому правилу корзины отдельно, не прибегая всякий раз к модификации кода.
Рассмотрим второй способ, как более функциональный.
Добавляем кнопку сброса настроек фильтра в модуле многоуровневой навигации
Еще одна полезная правка для блока многоуровневой навигации. В модуле к сожалению до сих пор не предусмотрели одновременный сброс всех настроек фильтра. Если было назначено сразу много параметров фильтрации, но результаты поиска не удовлетворили, то придется либо отменять их по одному, либо заново открывать страницу что займет дополнительное время, что неудобно для клиента. Чтобы упростить ему поиск товаров давайте введем дополнительную кнопку сброса назначенных настроек фильтра.
