Помощь цены вида "от ХХХ" и"договорная"

Эта цена должна отображаться в каких-то определенных категориях или в разброс? И кстати поле price в базе данных лучше не трогать. Можно это либо реализовать в определенных категориях. Либо создавать товары с ценой 1 и задать в контроллере(ах) вывод- что если цена меньше 2, то отобразить- *договорная*.
 
второй вариант лучше наверное..а как это задать в файлах контроллера? очень бы помогли вы мне
 
Тут помозговать тоже нужно: так как времени мало- быстрое дешевое решение: для opencart 1.5.X идем в product.tpl кодируем ее в UTF-8 и строки
Код:
<?php if (!$special) { ?>
        <?php echo $price; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>
        <?php } ?>
подменяем на
Код:
<?php if (!$special || $price < 100) { ?>
    <?php echo 'договорная'; ?>
    <?php } elseif (!$special || $price > 100) { ?>  
  <?php echo $price; ?>
  <?php } else { ?>
  <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>
  <?php } ?>
это так для примера... так же можно сделать для всего остального.. но это очень быстрое и примитивное решение
 
спасибо огромное. буду пробовать. надеюсь на опенкарте 2.х так же устроен вывод цены
 
спасибо огромное. буду пробовать. надеюсь на опенкарте 2.х так же устроен вывод цены
для 2.0.3.1
Код:
              <?php if (!$special) { ?>
            <li>
              <h2><?php echo $price; ?></h2>
            </li>
            <?php } else { ?>
            <li><span style="text-decoration: line-through;"><?php echo $price; ?></span></li>
            <li>
              <h2><?php echo $special; ?></h2>
            </li>
соответсвенно
Код:
             <?php if (!$special || $price < 100) { ?>
              <li>
              <h2><?php echo 'договорная'; ?></h2>
            </li>
             <?php } elseif (!$special || $price > 100) { ?>
            <li>
              <h2><?php echo $price; ?></h2>
            </li>
            <?php } else { ?>
            <li><span style="text-decoration: line-through;"><?php echo $price; ?></span></li>
            <li>
              <h2><?php echo $special; ?></h2>
            </li>
100 кстати указал потому что если включены налоги, то даже при цене в 1руб может насчитать больше 60ти руб....
 
А не проще было бы сделать в админке несколько цен, которые не используются, а на фронте через js менять цену и ставить то, что нужно?
К примеру, цена 13.13 эквивалентна значению "договорная"
цена 14.14 - значению "от ...". Тут можно в цену заложить разделитель, что-то типа 141414000516 - 141414000 будет нашим разделителем, а все что после него уже вписывать как значение "от ..."

Таким образом не придется пилить файлы сайта, а вы получите нужный вам результат. Это конечно говнокодинг, но зато не трогаем файлы движка.
Причем если цена договорная, то кнопку "купить" логичнее было бы скрыть, а вместо нее поставить заказ обратного звонка, чтобы уже менеджер с клиентом решал вопрос относительно цены.
 
для 2.0.3.1
Код:
              <?php if (!$special) { ?>
            <li>
              <h2><?php echo $price; ?></h2>
            </li>
            <?php } else { ?>
            <li><span style="text-decoration: line-through;"><?php echo $price; ?></span></li>
            <li>
              <h2><?php echo $special; ?></h2>
            </li>
соответсвенно
Код:
             <?php if (!$special || $price < 100) { ?>
              <li>
              <h2><?php echo 'договорная'; ?></h2>
            </li>
             <?php } elseif (!$special || $price > 100) { ?>
            <li>
              <h2><?php echo $price; ?></h2>
            </li>
            <?php } else { ?>
            <li><span style="text-decoration: line-through;"><?php echo $price; ?></span></li>
            <li>
              <h2><?php echo $special; ?></h2>
            </li>
100 кстати указал потому что если включены налоги, то даже при цене в 1руб может насчитать больше 60ти руб....

чуть по-другому у меня файл выглядит, но методом научного тыка вывел.

подскажите пожалуйста, что дописать что бы в category.tpl вывести "договорная". тут другие переменные чуток и я не могу сообразить как изменить.

<?php if ($product['price']) { ?>
<div class="price price-product">
<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-new"><?php echo $product['special']; ?></span> <span class="price-tax">средняя рыночная стоимость</span><span class="price-old"><?php echo $product['price']; ?></span>
<?php } ?>
<?php if ($product['tax']) { ?>
<span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
<?php } ?>
</div>
<?php } ?>

вот такой кусок кода. заранее спасобо
 
попробуйте так
Код:
<?php if ($product['price']) { ?>
<div class="price price-product">
<?php if (!$product['special'] && $product['price'] < 100) { ?>
<?php echo 'договорная'; ?>
<?php } elseif (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-new"><?php echo $product['special']; ?></span> <span class="price-tax">средняя рыночная стоимость</span><span class="price-old"><?php echo $product['price']; ?></span>
<?php } ?>
<?php if ($product['tax']) { ?>
<span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
<?php } ?>
</div>
<?php } ?>
 
не получилось к сожалению(

в 3ей строчке двойные && тоже заменил на одну...и не получилось всё равно. выводится так же думаю не нужно привязываться к специальной цене...я же могу ее не ставить у этих товаров
 
Попробуйте создать товар с ценой 1$ и без акций...
 
Назад
Сверху