Opencart 1.5.5.1 . Например, у меня есть весовой товар. У этого товара 2 цены: первая - за 1 шт. = 4500 руб.. А вторая цена за 1 кг - 150 рублей. Итого: 1-ю цену можно оставить - она есть в админке и хорошо выводится в карточку. А вот вторую 150 руб. за 1 кг как занести сначала в админку, а потом вывести в карточку?
Если цена чисто информативного характера, тогда могу предложить простой вариант: инфо цену впишите в поле артикул (в админке, в карточке товара, артикул как раз по любому требуется заполнить) далее слово артикул изменить в файлах локализации (в папке language) на что то вроде "Цена за 1 кг:" вывести артикул там где нужно по аналогии как я вам уже писал для характеристик Если товар можно купить только большим объемом, то: устанавливаете цену в 150 руб. (за кг) устанавливаете в админке в карточке товара минимальный заказ например в 32 кг (человек видит цену за кг, но купить может минимум только 32 кг, все честно и без обмана) Ещё такой вариант, если товар возможно купить не полностью, а по частям, то можно сделать так: установить цену 150 руб. (за кг) далее в админке в карточке товара указать скидку при заказе 16 кг и более цена 145 руб., при заказе 32 кг и более цена 140 руб. плюс можно добавить вариацию с тем же минимальным заказом, например в данном случае минимум установить в 16 кг.
1 вариант мне больше нравится. Давайте на нём и остановимся. Основную цену за 1 шт. тогда я оставляю в админке 4500 руб.. Меняя количество штук в карточке, будет изменяться и цена. Если вторую цену за 1 кг выводим в артикул, то возникают 2 проблемы, которые нужно как-то решить. 1) в модуле "рекомендуемые" и в списке категорий будет выводиться основная цена за штуку 4500 рублей = за 1 шт. - это очень плохо, т.к. покупатели будут уходить с сайта видя высокую цену. Задача 1. Как вывести в модуле "рекомендуемые" и в списке категорий цену 150 руб, которую я пропишу в артикуле? 2.) В корзине отображается столбец "Артикул", вместо него будет указана цена за 1 кг. Здесь я пока не знаю. 2 вариант не решит проблему с заказом, поскольку планируется продавать поштучно (1шт=32кг), а не по киллограммам: 32, 64, 96 и т.д. Например 40 кг магазин не продаёт, так как от второй туши никто ещё 8 кг не будет отрезать. 3 вариант больше относится к скидкам, а товар продается поштучно. В корзину пойдут штуки, а не киллограммы. --- Добавлено, 3 дек 2013 --- Добавил эти строки для артикула. Посмотрите, где ошибся. PHP: $_['text_sku'] = 'Цена за 1 кг:';$this->data['sku']= $this->weight->format($product_info['sku'], $product_info['whight_class_id']);<?php if($sku >0) {?><span><?php echo $text_sku;?> </span> <?php echo $sku; ?> <br /><?php }?> При добавлении текста в поле Артикул, строка в карточке не отображается, а когда ввожу цифру, то её выводит, но выдает сообщение: Сообщение: Undefined variable: text_sku в Z:\home\Brocart\www\catalog\view\theme\maximus\template\product\product.tpl строке 36 225 Где поправить?
Я сам нашел ошибку при создании атрибута. Оказывается там строчная текстовая переменная, а для неё нельзя числовое условие задавать. Теперь при отсутствии записи в строке, она не будет отображаться в карточке, что нам и требуется. Сделал вот так: PHP: <?php if($sku <>""){?><span><?php echo $text_sku;?> </span> <?php echo $sku; ?><br /><?php }?>