Модуль Полезные модификации Prestashop 1.7

fortuner

Хранитель порядка
Регистрация
26 Июн 2012
Сообщения
631
Реакции
1.238
Делимся полезными модификациями, хаками, допиленными модулями (или самописными) для Prestashop 1.7.
Предлагаю скопировать правила из темы модулей Prestashop, чтобы в теме было проще ориентироваться.
Правила:
1. Увидели чужую ошибку - исправьте :)
2. Запросы "а сделайте мне то-то" пожалуйста пишите в тему "Помощь с Prestashop".
3. Не спамьте, пусть раздел будет соответствовать своему названию :)
4. Не пишите "спасибо, должен навеки вечные!", просто нажмите "спасибо".
 
[Решено] Наверное многие, кто использует PS 1.7.4.2 - 1.7.4.4 замечали такую проблему:

- Выставляем в админ минимальное для продажи количество товара (например, 5 шт)
- Во фронте на странице Товар кликаем "В корзину" - товар удачно добавляется в количестве 5 шт и, если нажать "-" , то уменьшить количество не получится
- Нажимаем "Перейти к оформлению", попадаем на страницу "Корзина"
- Опять жмем "-" и после секундного "подвисания" ... количество не уменьшается нет, но уменьшается сумма корзины - ровно на стоимость одной единицы товара
- И если снова кликнуть "уменьшить" - количество по-прежнему не изменится, но сумма снова станет меньше на стоимость одной единицы.
- В итоге, покупатель оформит заказ, в котором 5 шт товаров, но стоимость указана только за 3 .. или за 2 .. или за 1 товар

Решение:
Открываем контроллер корзины CartController.php - он лежит в папке: корневая_папка/controllers/front/CartController
И добавляем перед (у меня это строка 426) :

Код:
 // Check product quantity availability
        if ('update' !== $mode && $this->shouldAvailabilityErrorBeRaised($product, $qty_to_check)) {
            array_push(
                $this->{$ErrorKey},
                $this->trans(
                    'The item %product% in your cart is no longer available in this quantity. You cannot proceed with your order until the quantity is adjusted.',
                    array('%product%' => $product->name),
                    'Shop.Notifications.Error'
                )
            );
        }

следующий код:

Код:
        // Check minimal_quantity
        if (!$this->id_product_attribute) {
            if ($qty_to_check < $product->minimal_quantity) {
                $this->errors[] = $this->trans(
                     'The minimum purchase order quantity for the product %product% is %quantity%.',
                     array('%product%' => $product->name, '%quantity%' => $product->minimal_quantity),
                     'Shop.Notifications.Error'
                 );
                return;
            }
        } else {
            $combination = new Combination($this->id_product_attribute);
            if ($qty_to_check < $combination->minimal_quantity) {
                $this->errors[] = $this->trans(
                     'The minimum purchase order quantity for the product %product% is %quantity%.',
                     array('%product%' => $product->name, '%quantity%' => $combination->minimal_quantity),
                     'Shop.Notifications.Error'
                 );
                return;
            }
        }

Осталось только перевести на русский/украинский фразу: "The minimum purchase order quantity for the product".
(у себя я добавил перевод прямо в контроллер простой заменой англ. на русский)

Примечание (!) В версии PS 1.7.5.0 данный баг исправлен.
Взято Для просмотра ссылки Войди или Зарегистрируйся

P.S. Всех форумчан с Наступающим! Побольше заказов - поменьше багов!!!
 
Последнее редактирование:
В 1.7 добавление нескольких характеристик (Multiple Features) идет по дефолту, только во фронте отображается не очень: при добавлении нескольких характеристик, в некоторых шаблонах каждая пишется отдельной строкой. То ест:
материал ___________ хлопок
материал ___________ полиестер
и т.д.
чтобы привести это дело к нормальному виду, нужно заменить код в файле
\ваша тема\templates\catalog\_partials\product-details.tpl
Код:
{block name='product_features'}
    {if $product.features}
      <section class="product-features">
        <h3 class="h6">{l s='Data sheet' d='Shop.Theme.Catalog'}</h3>
        <dl class="data-sheet">
          {foreach from=$product.features item=feature}
            <dt class="name">{$feature.name}</dt>
            <dd class="value">{$feature.value}</dd>
          {/foreach}
        </dl>
      </section>
    {/if}
  {/block}
на
Код:
{block name='product_features'}
    {if $product.grouped_features}
      <section class="product-features">
        <p class="h6">{l s='Data sheet' d='Shop.Theme.Catalog'}</p>
        <dl class="data-sheet">
          {foreach from=$product.grouped_features item=feature}
            <dt class="name">{$feature.name}</dt>
            <dd class="value">{$feature.value|escape:'htmlall'|nl2br nofilter}</dd>
            // или в ряд <dd class="value">{$feature.value nofilter}</dd>
          {/foreach}
        </dl>
      </section>
    {/if}
  {/block}

теперь, характеристики будут отображаться следующим видом:
материал ___________ хлопок полиестер
 
Последнее редактирование:
Подскажите как сделать дополнительные поля в карточке товара версия 1.7.4 Нужно сделать дополнительные картинки (не товарные) и дополнительные текста. Заранее спасибо.
 
Подскажите как сделать дополнительные поля в карточке товара версия 1.7.4 Нужно сделать дополнительные картинки (не товарные) и дополнительные текста. Заранее спасибо.
вы можете вставлять короткое описание и полное описание, в которое можно добавлять картинки и все, что угодно.
 
вы можете вставлять короткое описание и полное описание, в которое можно добавлять картинки и все, что угодно.
Нет это к сожалению не подходит, я вставил слайдер на страницу товара и хочу чтобы в нем выводились изображения и описания предназначенные для него, а на описание товара и краткое описание у меня другие планы))))
 
Нет это к сожалению не подходит, я вставил слайдер на страницу товара и хочу чтобы в нем выводились изображения и описания предназначенные для него, а на описание товара и краткое описание у меня другие планы))))
ну так поищите слайдеры в которых можно писать поверх картинок, которые можно отобразить на стр. товара. если я правильно понял)
 

Сразу первый шаг
Why is prestashop don't save my modification into database? Using prestashop 1.7

/override/classes/Product.php

В приведенной папке у меня только другие папки и файл index.php. В каждой папке тоже index.php и все
На этот мануал натыкался, но структура файлов у меня не та (((((. Толи лыжи ни едут, то ли двиг у меня какойто эдакий(
 
/override/ - эта папка переопределяющая основные файлы, соответственно нужно в основных искать и если нужно что-то изменить добавить в папку /override/
 
/override/ - эта папка переопределяющая основные файлы, соответственно нужно в основных искать и если нужно что-то изменить добавить в папку /override/
Не понимаю, этих файлов там нету, их создать нужно?
 
Назад
Сверху