Как сделать поле цены товара с возможностью установки значения "по запросу"

Главные вкладки

Аватар пользователя winny63 winny63 2 марта 2016 в 23:55

Каким образом (при помощи какого модуля) можно сделать в UBERCART (D6) и DRUPAL COMMERCE (D7) так, чтобы поле цены кроме числа можно было установить в значение "по запросу", причем достаточно произвольно (т.е. для любого товара в каталоге)?

Комментарии

Аватар пользователя WebRemake WebRemake 3 марта 2016 в 1:06

Можно сделать по такому алгоритму.
Если в поле цена стоит 0 (ноль) то это поле прятать и вместо него выводить текстовое поле с текстом Цена по запросу. Сам текст Цена по запросу можно сделать ссылкой на форму отправки запроса.

В Drupal Commerce такую логику можно реализовать модулями
https://www.drupal.org/project/ffc + https://www.drupal.org/project/rules

Аватар пользователя kazuto kazuto 13 марта 2016 в 14:28

в template.php можно прописать что-то вроде:
function имя_темы_preprocess_field(&$variables) {
if ($variables['element']['#field_name'] == 'commerce_price') {
$product = commerce_product_load($product_id);
$price = $variables['element']['#object']->commerce_price['und'][0]['amount'];
$rounded_price = number_format(round($price,-4), 0);
if ($rounded_price > 0) {
$variables['items'][0]['#markup'] = 'цена уточняется после заказа';
$variables['classes_array'][] = 'zero-price';
$variables['element']['#formatter']['submit'];
}
}
}