Ubercart текстовое поле вместо цены.

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

Аватар пользователя man-1982 man-1982 6 апреля 2011 в 13:37

Есть потребность иногда вместо цены выводить текстовые поля, например: Цена договорная, Бесплатно с таким то товаром, на данный момент отсутствует. Как это можно сделать! Причем что бы это отображалось и во вьесе катлога цен и в отображении ноды самого товара. Спасибо!

Комментарии

Аватар пользователя man-1982 man-1982 8 апреля 2011 в 10:12

Спасибо... Но слегка не то . Надо выводить проивольный текст вместо цены, причем в зависимости от продукта текст будет разный. Буду смотреть в сторону CCK. Спасибо.

Аватар пользователя man-1982 man-1982 10 ноября 2015 в 11:47

"<a href="mailto:o_tau@drupal.org">o_tau@drupal.org</a>" wrote:
Если удастся сделать с использованием готовых модулей, отпишитесь, пожалуйста.
Если вас не смутит изменения внесенные в ядро модуля ubercart_product, то ниже готовый вариант. Отображается при редактировании/создании товара (не работает в товар кид). Смысл таков если sell price равен нулю то выводит текст указанный всместо цены.

Метод установки заменяем модуль ubercart_product мой. Запускает апдейт. Должно добавить один столбец в таблицу product.
Дальше идем создавать продукт...
Если что не понятно пишите....

Аватар пользователя man-1982 man-1982 10 ноября 2015 в 11:47

"<a href="mailto:o_tau@drupal.org">o_tau@drupal.org</a>" wrote:
Если удастся сделать с использованием готовых модулей, отпишитесь, пожалуйста.
Если вас не смутит изменения внесенные в ядро модуля ubercart_product, то ниже готовый вариант. Отображается при редактировании/создании товара (не работает в товар кид). Смысл таков если sell price равен нулю то выводит текст указанный всместо цены.

Метод установки заменяем модуль ubercart_product на мой. Запускает апдейт. Должно добавить один столбец в таблицу product.
Дальше идем создавать продукт...
Если что не понятно пишите....

Аватар пользователя zolexiy@drupal.org zolexiy@drupal.org 14 апреля 2011 в 13:19

man-1982 wrote:
"<a href="mailto:o_tau@drupal.org">o_tau@drupal.org</a>" wrote:
Если удастся сделать с использованием готовых модулей, отпишитесь, пожалуйста.
Если вас не смутит изменения внесенные в ядро модуля ubercart_product, то ниже готовый вариант. Отображается при редактировании/создании товара (не работает в товар кид). Смысл таков если sell price равен нулю то выводит текст указанный всместо цены.

Метод установки заменяем модуль ubercart_product на мой. Запускает апдейт. Должно добавить один столбец в таблицу product.
Дальше идем создавать продукт...
Если что не понятно пишите....

ОМГ

Аватар пользователя o_tau@drupal.org o_tau@drupal.org 14 апреля 2011 в 14:30

"<a href="mailto:zolexiy@drupal.org">zolexiy@drupal.org</a>" wrote:

ОМГ

Отношусь спокойно. Если готовых решений нет, то что ж делать, приходится выкручиваться...
Но себе патчить не буду - пока нет крайней нужды. Smile

Аватар пользователя zolexiy@drupal.org zolexiy@drupal.org 14 апреля 2011 в 14:33

<a href="mailto:o_tau@drupal.org">o_tau@drupal.org</a> wrote:
"<a href="mailto:zolexiy@drupal.org">zolexiy@drupal.org</a>" wrote:

ОМГ

Отношусь спокойно. Если готовых решений нет, то что ж делать, приходится выкручиваться...
Но себе патчить не буду - пока нет крайней нужды. :)

А почему вы только два варианта видите: готовое решение и патчить? Smile

Есть 3-й вариант. Нормальный. темизация, хуки и тд. А то что выше предложенно, это не патч, а хак. Грубый причем.

Аватар пользователя man-1982 man-1982 14 апреля 2011 в 14:45

начал писать отдельный модуль альтернативного теста цены ... а то как сказал zolexiy@drupal.org - это грубый хак. Но кто ничего не делает тот не ошибается.
Как сделаю выложу.

Аватар пользователя zolexiy@drupal.org zolexiy@drupal.org 14 апреля 2011 в 14:47

man-1982 wrote:
начал писать отдельный модуль альтернативного теста цены ... а то как сказал zolexiy@drupal.org - это грубый хак. Но кто ничего не делает тот не ошибается.
Как сделаю выложу.

Все правильно, это я и хотел донести Smile . Риспект.

Аватар пользователя o_tau@drupal.org o_tau@drupal.org 14 апреля 2011 в 14:53

"<a href="mailto:zolexiy@drupal.org">zolexiy@drupal.org</a>" wrote:
А почему вы только два варианта видите: готовое решение и патчить? :)

Скорее так - два варианта: использовать готовый модуль или создавать код самому. Причем первый вариант предпочтительнее, второй - если припрет. Код патча (хака?) не смотрел - не нравится вмешательство в ядро, здесь согласен с Вами. Сам так делал на Джумле, потом было неудобно.
Но согласитесь, автор все же хоть как-то решил эту проблему - ставлю плюсик.

Аватар пользователя zolexiy@drupal.org zolexiy@drupal.org 14 апреля 2011 в 14:56

<a href="mailto:o_tau@drupal.org">o_tau@drupal.org</a> wrote:
"<a href="mailto:zolexiy@drupal.org">zolexiy@drupal.org</a>" wrote:
А почему вы только два варианта видите: готовое решение и патчить? :)

Скорее так - два варианта: использовать готовый модуль или создавать код самому. Причем первый вариант предпочтительнее, второй - если припрет. Код патча (хака?) не смотрел - не нравится вмешательство в ядро, здесь согласен с Вами. Сам так делал на Джумле, потом было неудобно.
Но согласитесь, автор все же хоть как-то решил эту проблему - ставлю плюсик.

И он ее решит полностью, причем правильно теперь решит, за то еще один плюсик Lol

Аватар пользователя man-1982 man-1982 10 ноября 2015 в 11:47

Сделал обещанный модуль.
что он себе представляет:
Модуль называется Ubercart Alter Sell Price. Находиться во вкладке ubercart - extra. Копируем - Включаем. Дальше в материале типа Product появляется возможность писать текст вместо Sell Price причем остается и сам Sell Price. Во вьесе есть дополнительное поле, которое выводит представление альтернативной цены, так и называется - Alter Sell Price.
Как работает во вьесе product - заменяем поле Product: Sell price на поле Product: Alter Sell Price. Нажимаем саве и будет нам щасье.
Product: Alter Sell Price - выводит текст продукта и если в настройках продукта снята галочка "Использовать Alter Sell Price" - то выводит реальную цену продажи.
В чем отличие от других: Альтернативную цену можно писать для каждого продукта разную.

p/s/ Это первый модуль - поэтому прошу строго не судить .. конструктивную критику приветствую..
Все... всем спасибо.

Аватар пользователя zolexiy@drupal.org zolexiy@drupal.org 29 апреля 2011 в 23:20

1. в t() (t('Альтернативная цена'),) кирилица не кошерно. Имхо, но вообще в коде кирилица - зло.

2. форматирование.. мелоч, как для первого раза, но все же.

3. дебажить удобно так drupal_set_message('debug:<pre>' . check_plain(print_r($op, 1)) . '</pre>'); а не drupal_set_message('$op = '. $op); - тоже мелоч

4. если заюзали нормальный инсталл файл с установкой схемы (похвально, многие ленятся или не умеют), то тогда удобно и нужно юзать ф-ции типа drupal_write_record вместо db_query("INSERT INTO {ube.... Будет вобще кошерно Smile

5. чет не понял, зачем node_load в формальтере?

А так, как для первого модуля, очень даже не плохо)