Помощь Поддержка или помощь c Prestashop - 2 часть

Статус
В этой теме нельзя размещать новые ответы.
Народ, помогите с такой ситуацией. Есть фильтр товаров, там есть параметр доступность и в нем два варианта на выбор: есть в наличии и нет в наличии. Суть в следующем, например у меня 10 товаров в наличии и 5 нет в наличии, (т.е в карточки товара в графе кол-во стоит 0)
Вариант есть в наличии показывает в скобках (15) т.е 15 товаров
Вариант нет в наличии показывает (0) и не дает выбрать этот параметр соответственно.
Помогите кто сталкивался. Может я сам просто туплю.
А еще если товара на остатках 0 то в карточке товара появляется надпись в наличии.
 
Последнее редактирование:
всё логично:
письма админу на админском языке и шлются
юзеру - на юзеровском
Да, но тогда почему переведены способы оплаты и доставки? Совсем не здорово выглядят, например, 2 фразы на русском в англ тексте.
 
создать файл /override/classes/Tools.php

с содержанием:

Код:
<?php
class Tools extends ToolsCore
{
    public static function displayPrice($price, $currency = null, $no_utf8 = false, Context $context = null)
    {
        if (!is_numeric($price))
            return $price;
        if (!$context)
            $context = Context::getContext();
        if ($currency === null)
            $currency = $context->currency;
        // if you modified this function, don't forget to modify the Javascript function formatCurrency (in tools.js)
        elseif (is_int($currency))
            $currency = Currency::getCurrencyInstance((int)$currency);

        if (is_array($currency))
        {
            $c_char = $currency['sign'];
            $c_format = $currency['format'];
            $c_decimals = (int)$currency['decimals'] * _PS_PRICE_DISPLAY_PRECISION_;
            $c_blank = $currency['blank'];
        }
        elseif (is_object($currency))
        {
            $c_char = $currency->sign;
            $c_format = $currency->format;
            $c_decimals = (int)$currency->decimals * _PS_PRICE_DISPLAY_PRECISION_;
            $c_blank = $currency->blank;
        }
        else
            return false;

        $blank = ($c_blank ? ' ' : '');
        $ret = 0;
        if (($is_negative = ($price < 0)))
            $price *= -1;
        $price = Tools::ps_round($price, $c_decimals);

        /*
        * If the language is RTL and the selected currency format contains spaces as thousands separator
        * then the number will be printed in reverse since the space is interpreted as separating words.
        * To avoid this we replace the currency format containing a space with the one containing a comma (,) as thousand
        * separator when the language is RTL.
        *
        * TODO: This is not ideal, a currency format should probably be tied to a language, not to a currency.
        */
        if (($c_format == 2) && ($context->language->is_rtl == 1))
            $c_format = 4;

        switch ($c_format)
        {
            /* X 0,000.00 */
            case 1:
                $ret = $c_char.$blank.number_format($price, $c_decimals, '.', ',');
                break;
            /* 0 000,00 X*/
            case 2:
                //$ret = number_format($price, $c_decimals, ',', ' ').$blank.$c_char;
//вот здесь для формата №2 убирается пробел в написании цены              
$ret = number_format($price, $c_decimals, ',', '').$blank.$c_char;              
                break;
            /* X 0.000,00 */
            case 3:
                $ret = $c_char.$blank.number_format($price, $c_decimals, ',', '.');
                break;
            /* 0,000.00 X */
            case 4:
                $ret = number_format($price, $c_decimals, '.', ',').$blank.$c_char;
                break;
            /* X 0'000.00  Added for the switzerland currency */
            case 5:
                $ret = number_format($price, $c_decimals, '.', "'").$blank.$c_char;
                break;
        }
        if ($is_negative)
            $ret = '-'.$ret;
        if ($no_utf8)
            return str_replace('€', chr(128), $ret);
//webpc:      
//$ret='от '.$ret;  // вот тут можно указать не конкретную цену -  "от ...."

//if ($price=='0') $ret='цену уточняйте';   // а здесь перекрываем нулевую цену текстом

        return $ret;
    }


}

где можно любой формат под себя подправить

в примере выше - убирается пробел между тысячами и единицами в цене в формате №2
чтобы в письмах не было престовского ракульного переноса, типа
1
234,00
грн

вместо 1234,00 грн
Все сделал как описано выше, правил строчку
Код:
case 2:
                //$ret = number_format($price, $c_decimals, ',', ' ').$blank.$c_char;
//вот здесь для формата №2 убирается пробел в написании цены               
$ret = number_format($price, $c_decimals, '.', '').$blank.$c_char;
разделитель получился точкой пробел исчез, но все это только в категории. В карточке товара ничего не поменялось, пробел остался и запятая вместо точки (
 
Все сделал как описано выше, правил строчку
Код:
case 2:
                //$ret = number_format($price, $c_decimals, ',', ' ').$blank.$c_char;
//вот здесь для формата №2 убирается пробел в написании цены              
$ret = number_format($price, $c_decimals, '.', '').$blank.$c_char;
разделитель получился точкой пробел исчез, но все это только в категории. В карточке товара ничего не поменялось, пробел остался и запятая вместо точки (

данный формат применяется ко всему сайту, т.е. если полноценно обновить кеши - то на всех страницах, включая и админку будет новый формат
 
В админке при открытии товара на редактирование начало выскакивать модальное окно с сообщением 500 ошибки
Код:
(500 Internal Server Error)
Произошла ошибка при загрузке вкладок: некоторые из них не могут быть загружены.
Попробуйте еще раз, обновив страницу.
Если проблема остается, проверьте журналы вашего веб-сервера или свяжитесь с хостинг-провайдером.
Я начал удалять сторонние модули, которые добавляют свои вкладки на страницу товара.
Ппри удалении скачанного с этого форму модуля "Advanced Pack v5.0.5 - от Presta-Module" (он тоже добавляет свою вкладку), появляется сообщение об ошибке:
Код:
The following module(s) could not be uninstalled properly:
    pm_advancedpack :
Подскажите пути исправления ситуации?
 

Вложения

  • 2016-09-22_150845.jpg
    2016-09-22_150845.jpg
    28,6 KB · Просмотры: 11
данный формат применяется ко всему сайту, т.е. если полноценно обновить кеши - то на всех страницах, включая и админку будет новый формат
Кеш был очищен полноценно и в браузере все почищено. Везде изменения есть, а в карточке товара нет.
Меня бы и запятая устроила, если бы не ругался гугловский "Инструмент проверки структурированных данных"
В разделе:
Product
price
45,65 (Свойство 45,65 не является допустимым значением цены. Подробнее Для просмотра ссылки Войди или Зарегистрируйся...)
 

Вложения

  • price.jpg
    price.jpg
    59,1 KB · Просмотры: 13
Кеш был очищен полноценно и в браузере все почищено. Везде изменения есть, а в карточке товара нет.
Меня бы и запятая устроила, если бы не ругался гугловский "Инструмент проверки структурированных данных"
В разделе:
Product
price
45,65 (Свойство 45,65 не является допустимым значением цены. Подробнее Для просмотра ссылки Войди или Зарегистрируйся...)

значит шаблон темы корявит, в частности нужно смотреть product.tpl

в престе особо никогда не было проблем с схемой
Для просмотра ссылки Войди или Зарегистрируйся

upload_2016-9-22_22-5-37.png
 
значит шаблон темы корявит, в частности нужно смотреть product.tpl

в престе особо никогда не было проблем с схемой
Для просмотра ссылки Войди или Зарегистрируйся

Посмотреть вложение 76050
Видимо в этом виноват модуль Module Customer Ratings and Reviews Pro + Google Rich Snippets Module v4.0.9
 
А кто как решает проблему с некоторыми модулями при выдаче в переводе шаблонов e-mail:
Почтовая папка существует для языка "ru", но не для языка по умолчанию (ru) в /modules/mobassistantconnector/mails
В данном пути находится папка /modules/mobassistantconnector/mails/common/
Еще у этого модуля есть /themes/default-bootstrap/modules/mobassistantconnector/translations/ru.php
Создание просто папки ru не исправляет ситуацию
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху