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

Статус
В этой теме нельзя размещать новые ответы.
всем привет. как удалить пробел из цены: например 1 250 руб в 1250 руб

как убрать пробел из написания цены:

создаём файл оверрайда
/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;
    }


}
 
Это выключается в настройках темы шаблона, поищи в модулях модуль настройки темы.
Да наврятли модуль эсли да, то точнее не знаешь где, я файрбагом смотрел вроде не модуль, + если бы был модуль я бы по идеи мог менять расположение , все могу менять а именно его немогу, хз
 
Гуру PHP помогите с модулем: Для просмотра ссылки Войди или Зарегистрируйся
Модуль заменяет стандартный модуль главного горизонтального меню.
Он позволяет размещать продукты в выпадающем меню (фото и цена).
Так вот фото у меня не отображается. Опытным путем я пришел к выводу, что модуль при создании ссылки на изображение не встраивает id- изображения. Вот пример создаваемой ссылки: src="//mydomain.ru/-home_default/someproducte.jpg"
Версия Prest'ы: 1.6.0.9
Версия PHP: 5.6.22

Ниже код модуля, отвечающий за создание ссылки (файл bamegamenu.php :(

PHP:
private function getSubMenuProduct($id, $list = 0)
    {
        $id_lang = (int) $this->context->language->id;
        $product = new Product((int) $id, true, (int) $id_lang);

        $image = Image::getCover($id);
        $link = new Link();
        $imagePath=$link->getImageLink($product->link_rewrite, $image['id_image'], ImageType::getFormatedName('home'));
        $html = "";
        if ($list == 0) {
            $html .="<ul class='menuproduct clearfix'>";
        }
        $html .="<li>";
        $html .="<a href='" . Tools::HtmlEntitiesUTF8($product->getLink()) . "' title='" . $product->name . "'>
        <span class='menu-item-link-text'>";
        $html .="<img src='//" . $imagePath . "' alt='" . $product->name . "'>";
        $html .="<span class='name'>" . $product->name . "</span>";
        $oldprice=(!isset($product->specificPrice['reduction']) || $product->specificPrice['reduction']<=0)?false:true;
        $html .="<span class='price' style='" . ($oldprice==false? 'width:100%;' : '')
        . "'>" . Tools::displayPrice($product->getPrice(true, null, 2)) . "</span>";

Помогите, пожалуйста, вылечить, сам не смогу..:nezn:

Вот что показывает вывод ошибок:

[PrestaShopDatabaseException]
Column 'id_product' in where clause is ambiguous
Код:
SELECT * FROM `ps_image` i INNER JOIN ps_image_shop image_shop
        ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 1)
            WHERE `id_product` = 7
            AND image_shop.`cover`= 1 LIMIT 1

-==- Сам решил...

Проблема была в запросе к Базе Данных. И возникла она из- за косячного отката от Prestashop 1.6.1.2 к 1.6.0.9
Нужно подправить запросы в classes/Image.php и classes/Product.php
Более подробно по ссылке : Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Добрый вечер. Волею судеб попал ко мне магазин на prestashop 1.4.4. При знакомстве с ним выяснилось, что есть проблема с обновлением цен (позиции не обновляются, а добавляются новые). Все приходится делать в ручную. Хотел поинтересоваться, есть ли смысл обновляться до последней версии, тратить время и ресурсы на обновление всех модулей, насколько далеко ушла версия 1,6 по функционалу?
 
Да наврятли модуль эсли да, то точнее не знаешь где, я файрбагом смотрел вроде не модуль, + если бы был модуль я бы по идеи мог менять расположение , все могу менять а именно его немогу, хз
Я предположил по аналогии со своим шаблоном, у меня шаблон Трансформер - в нем есть блок ссылок верхнего псевдоменю (называется - Custom Links). В этом модуле в шаблоне и настраиваются эти менюшки, правда у меня они другого плана, типа Помошь и т.п..
Скорее всего у тебя в шаблоне тоже самое, нужно внимательно изучить все модули шаблона и найти тот, который выводит твою вкладку.
 
Добрый вечер. Волею судеб попал ко мне магазин на prestashop 1.4.4. При знакомстве с ним выяснилось, что есть проблема с обновлением цен (позиции не обновляются, а добавляются новые). Все приходится делать в ручную. Хотел поинтересоваться, есть ли смысл обновляться до последней версии, тратить время и ресурсы на обновление всех модулей, насколько далеко ушла версия 1,6 по функционалу?
Смысл всегда есть, функционал растет. Если уж важно для тебя это, скоро будет 1.7, бета есть уже, ее немного потестил, о ней больше впечатлений положительных. Плюс 1.6 тяжела, долго страницы грузятся, 1.7 бета у меня летает просто, это важно для магазина.
 
Ребята, помогите. После атак через дырку в warehouse почта не работает. совсем. Хостер ее уже разблокировал, письма из почтовика отправляются и принимаются на ура. а магазин пишет ошибку
Код:
Ошибка: пожалуйста проверьте настройки

Strict Standards: Declaration of Mail::Send() should be compatible with MailCore::Send($id_lang, $template, $subject, $template_vars, $to, $to_name = NULL, $from = NULL, $from_name = NULL, $file_attachment = NULL, $mode_smtp = NULL, $template_path = '/var/www/k...', $die = false, $id_shop = NULL, $bcc = NULL, $reply_to = NULL) in /override/classes/Mail.php on line 321
ok
321 в файле Mail.php пустая. Но ест теория, что сам файл какой-то косячный. Может кто-нибудь кинуть свой пример работающего /override/classes/Mail.php?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху