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

Тема в разделе "PrestaShop", создана пользователем fortuner, 25 окт 2017.

Информация :
Приветствую гость, обрати внимание! Темы которые закреплены в разделах, в скором времени будут откреплены. Правила раздела PrestaShop

(Не актуальные темы) Каталоги:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
(Не актуальные темы) Поиск / Запросы:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
Полезная информация:Поддержка и помощь c PrestaShopУбираем ПрестаТраст, стучалки и прочую рекламуСовместные покупки модулей и шаблоновПеревод Prestashop и модулей
Модераторы: trace
  1. fortuner

    fortuner

    Регистр.:
    26 июн 2012
    Сообщения:
    558
    Симпатии:
    892
    Делимся полезными модификациями, хаками, допиленными модулями (или самописными) для Prestashop 1.7.
    Предлагаю скопировать правила из темы модулей Prestashop, чтобы в теме было проще ориентироваться.
    Правила:
    1. Увидели чужую ошибку - исправьте :)
    2. Запросы "а сделайте мне то-то" пожалуйста пишите в тему "Помощь с Prestashop".
    3. Не спамьте, пусть раздел будет соответствовать своему названию :)
    4. Не пишите "спасибо, должен навеки вечные!", просто нажмите "спасибо".
     
    deus_blr, zen1, _sashok и 8 другим нравится это.
  2. vitos1401

    vitos1401

    Регистр.:
    3 ноя 2012
    Сообщения:
    182
    Симпатии:
    263
    [Решено] Наверное многие, кто использует 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. Всех форумчан с Наступающим! Побольше заказов - поменьше багов!!!
     
    Последнее редактирование: 31 дек 2018
    zen1, Foma67, NightHunter и ещё 1-му нравится это.
  3. sergiykhd

    sergiykhd Sergiy

    Регистр.:
    17 апр 2013
    Сообщения:
    1.048
    Симпатии:
    756
    В 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}
    теперь, характеристики будут отображаться следующим видом:
    материал ___________ хлопок полиестер
     
    Последнее редактирование: 9 янв 2019
    vitos1401, _sashok, Anvar6120 и 2 другим нравится это.
  4. Canekt

    Canekt

    Регистр.:
    22 июл 2009
    Сообщения:
    151
    Симпатии:
    12
    Подскажите как сделать дополнительные поля в карточке товара версия 1.7.4 Нужно сделать дополнительные картинки (не товарные) и дополнительные текста. Заранее спасибо.
     
  5. sergiykhd

    sergiykhd Sergiy

    Регистр.:
    17 апр 2013
    Сообщения:
    1.048
    Симпатии:
    756
    вы можете вставлять короткое описание и полное описание, в которое можно добавлять картинки и все, что угодно.
     
    _sashok нравится это.
  6. Canekt

    Canekt

    Регистр.:
    22 июл 2009
    Сообщения:
    151
    Симпатии:
    12
    Нет это к сожалению не подходит, я вставил слайдер на страницу товара и хочу чтобы в нем выводились изображения и описания предназначенные для него, а на описание товара и краткое описание у меня другие планы))))
     
  7. sergiykhd

    sergiykhd Sergiy

    Регистр.:
    17 апр 2013
    Сообщения:
    1.048
    Симпатии:
    756
    ну так поищите слайдеры в которых можно писать поверх картинок, которые можно отобразить на стр. товара. если я правильно понял)
     
  8. Belena27089

    Belena27089

    Регистр.:
    16 авг 2016
    Сообщения:
    322
    Симпатии:
    220
  9. Canekt

    Canekt

    Регистр.:
    22 июл 2009
    Сообщения:
    151
    Симпатии:
    12
    Сразу первый шаг
    Why is prestashop don't save my modification into database? Using prestashop 1.7

    /override/classes/Product.php

    В приведенной папке у меня только другие папки и файл index.php. В каждой папке тоже index.php и все
    На этот мануал натыкался, но структура файлов у меня не та (((((. Толи лыжи ни едут, то ли двиг у меня какойто эдакий(
     
    Belena27089 нравится это.
  10. Belena27089

    Belena27089

    Регистр.:
    16 авг 2016
    Сообщения:
    322
    Симпатии:
    220
    /override/ - эта папка переопределяющая основные файлы, соответственно нужно в основных искать и если нужно что-то изменить добавить в папку /override/
     
  11. Canekt

    Canekt

    Регистр.:
    22 июл 2009
    Сообщения:
    151
    Симпатии:
    12
    Не понимаю, этих файлов там нету, их создать нужно?
     
    _sashok нравится это.