Здравствуйте.
В ubercart, как известно, цена товара может быть записана как число. А как мне для некоторых товаров написать вместо цены любую фразу, как к примеру "по запросу", а у других "договорная".
Темизация тут наверное не поможет, т.к. такая надпись нужна не у всех товаров, и должна быть возможность оперативно её менять.
Была тут какая то тема с похожим, дак там предлагали модуль uc_members_only, которые выставляет такие надписи определённым ролям, но опять же всем товарам сразу.
Может есть другая возможность сменить цифру на слово?
Комментарии
Если не хочется писать свой модуль, может быть просто добавить cck поле, и если оно не пустое выводить его вместо формы добавления в корзину и цены в шаблоне?
Сапсибо! Это, как я понимаю, нужно делать в шаблоне вывода товара. За вывод отвечают эти строки:
<?php print $fusion_uc_display_price; ?>
<?php print $fusion_uc_add_to_cart; ?>
Не подскажете, как на php написать это условие проверки? Если за надпись будет отвечать, к примеру такое
<?php print $node->field_pozaprosu[0]['view']; ?>
Просто я на php не программирую.
Как-то так:
<?php print $node->field_pozaprosu[0]['view']; ?>
<?php else: ?>
<?php print $fusion_uc_display_price; ?>
<?php print $fusion_uc_add_to_cart; ?>
<?php endif; ?>
По необходимости разбавить всё это разметкой... Если её не будет, можно убрать лишние
<?php ?>
Рановато немного я стал радоваться.

Так, если поле заполнено, то показывается надпись, и это хорошо. А если поле пустое (стоит НЕТ), то и показывается пустое место вместо цены и корзины
Спасибо bsyomov, очень помог. Была небольшая ошибка. Вот так правильно:
<?php if($node->field_pozaprosu[0]['view']): ?>
<?php print $node->field_pozaprosu[0]['view']; ?>
<?php else: ?>
<?php print $fusion_uc_display_price; ?>
<?php print $fusion_uc_add_to_cart; ?>
<?php endif; ?>
Я счастлив
Так с выводом надписи вместо цены на странице товара всё работает отлично, как и прежде.
Но вот незадача, надо бы и на странице каталога товаров так же выводить эту надпись вместо цены у некоторых товаров.
Я пошёл, как казалось мне, правильным путём.
Закинул в папку с темой файл views-view-field--sell-price.tpl.php и стал там химисить. Украшения цены работают (т.е. файл вроде как тот, что и нужен). Но, если добавить туда условие, как в файле node-product.tpl.php , то на это условие этот файл чихал. Видимо, он не догадывается, что тут проверять, или не имеет необходимой информации.
Как тут можно поступить?
Пробовал сделать это путём модуля views_customfield. Условие проверки заполненности поля field_pozaprosu сделать у меня получилось, и даже смог вывести цену (правда, в формате 2990.0000 (т.е. с 4-мя лишними нулями на конце, что конечно же мне не нравится)). Но, вот кнопку добавления в корзину добавить вместе с ценой так и не получилось, не знаю, какая переменная за это отвечает.
Пишу вот так:
<?php
if($data->node_data_field_pozaprosu_field_pozaprosu_value) {
print $data->node_data_field_pozaprosu_field_pozaprosu_value;
}
else {
print $data->uc_products_sell_price;
}
?>
Кто-нибудь может подсказать, как решить эту проблему? Этим модулем, или темизацией, без разниц.
в views есть галка у каждого поля скрывать если
или пусто, т.е. поле не заполнено