Помощь Отображение "под запрос" при цене 0.00 руб

Тема в разделе "Opencart", создана пользователем Lemark5, 21 янв 2014.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. Lemark5

    Lemark5 Постоялец

    Регистр.:
    26 май 2013
    Сообщения:
    72
    Симпатии:
    4
    Всем привет! Стоит задача показать цены к некоторым товарам "под запрос" вместо нуля.
    Есть 2 модуля на vqmod - Price FREE! (vQmod) 1.0.1 и Price Free For Zero Amount - vQmod
    Текст модулей такой (это самый сложный:(
    Код:
    <modification>
        <id>Price Free!</id>
        <version>1.0.1</version>
        <vqmver>1.2.3</vqmver>
        <author>ukrgeraldika</author>
        <file name="system/library/currency.php">
            <operation>
    
                <search position="before"><![CDATA[
                    $string = '';
                ]]></search>
    
                <add><![CDATA[
                    if ($format && (float)$value == 0) {
                        return '<span class="pricefree">По запросу</span>';
                    }
                ]]></add>
    
            </operation>
        </file>
    
        <file name="catalog/controller/module/cart.php">
            <operation>
                <search position="after"><![CDATA[
                $this->data['heading_title'] = $this->language->get('heading_title');
                ]]></search>
    
                <add><![CDATA[
                if ($this->currency->format($total) == 0) {
                $totalzero = '0.00';
                } else {
                $totalzero = $this->currency->format($total);
                }
                ]]></add>
            </operation>
        </file>
       
        <file name="catalog/controller/module/cart.php">
            <operation>
                <search position="replace"><![CDATA[
                $this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total) );
                ]]></search>
    
                <add><![CDATA[
                $this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $totalzero );
                ]]></add>
            </operation>
        </file>
    
    </modification>
    Данный модуль должен якобы менять 0 на любый фразы + не должен этого делать в корзине на предпросмотре.
    По факту:
    - замена происходит только на странице категории
    - на странице товара замена происходит на долю секунды и все возвращается к нулю на обоих модулях
    - в корзине вверху все равно "вы купили 0 товаров на сумму Под запрос" =)

    Хочу решить проблему правкой кода.
    Пока не получается, хочу как-то
    Код:
            <?php if ($products[$j]['price']==0.00) { ?>
            <a href="/index.php?route=information/contact" class="text_price">Текст если нет цены</a>
            <?php } else { ?>
            <?php } ?>
    вставляю в шаблон, где прайс, вылезают ошибки, но при этом текст проходит...
    Помогите, не хватает знаний в php =)

    Или мб что-то в модуле надо поправить?
     
  2. White_S

    White_S

    Регистр.:
    27 май 2009
    Сообщения:
    473
    Симпатии:
    95
    Во-первых какая версия движка? Я не специалист в пхп но я бы пробовал так <?php if ($price <= 0) ?> на странице товара и <?php if ($product['price'] <= 0) ?> на других страницах.
     
    LyToR нравится это.
  3. Leos

    Leos Создатель

    Регистр.:
    5 дек 2013
    Сообщения:
    31
    Симпатии:
    15
  4. x1nz

    x1nz Писатель

    Регистр.:
    3 ноя 2013
    Сообщения:
    5
    Симпатии:
    0
    Вот для версии 1.5.5.1.1 , на других не проверял.
    Проверяет кол-во на складе , если равно 0 , то ставит статус из карточки товара. Статусы можно добавить из админки.
     

    Вложения:

  5. dsadsa

    dsadsa Создатель

    Регистр.:
    9 июн 2013
    Сообщения:
    24
    Симпатии:
    3
    может такой вариант понравится
     
  6. PaShKinG

    PaShKinG Создатель

    Регистр.:
    14 мар 2012
    Сообщения:
    10
    Симпатии:
    3
    Человеки!
    Нужна помощь в похожей ситуации. Тему создать не могу, нашел эту, наиболее приближенную к моей проблеме.

    Стоит OcStore 1.5.5.1.2, установлен шаблон MiniMalism. В карточке товара отображается только два состояния - "Есть в наличии" и "Нет в наличии". Т.е. если я ставлю кол-во товара на складе "0" - а параметр "Остутствие на складе: Статус, показываемый, когда товара нет на складе" - "Предзаказ", то в карточке товара все равно отображается статус "Нет в наличии". Как бы сделать, что бы отображался тот статус товара, который указан в админке?
    Я так понимаю, что это такое упрощение шаблона.