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

Lemark5

Постоялец
Регистрация
26 Май 2013
Сообщения
71
Реакции
8
Всем привет! Стоит задача показать цены к некоторым товарам "под запрос" вместо нуля.
Есть 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 =)

Или мб что-то в модуле надо поправить?
 
Во-первых какая версия движка? Я не специалист в пхп но я бы пробовал так <?php if ($price <= 0) ?> на странице товара и <?php if ($product['price'] <= 0) ?> на других страницах.
 
Вот для версии 1.5.5.1.1 , на других не проверял.
Проверяет кол-во на складе , если равно 0 , то ставит статус из карточки товара. Статусы можно добавить из админки.
 

Вложения

  • remove-add-to-cart-if-out-of-stock.rar
    1,1 KB · Просмотры: 31
может такой вариант понравится
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Человеки!
Нужна помощь в похожей ситуации. Тему создать не могу, нашел эту, наиболее приближенную к моей проблеме.

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