Ubercart в drupal 7. Как не показывать поля "цена", "стоимость" для определенных ролей

Аватар пользователя Valeratal Valeratal 23 октября 2012 в 23:48

Собственно сабж

Есть цена закупки, цена розничная

Эти поля нужны для продажников и администратора. А вот юзерам не нужны

Вопрос, как отключить их для анонимов и обычных юзеров

Комментарии

Аватар пользователя VasyOK VasyOK 24 октября 2012 в 0:49

Сделать их обычными текстовыми (числовыми) полями к типу материала товар.
Потом модуль типа field permissions поставить (не обязательно можно и по другому).
Дальше объяснять? Или я не понял задачу?

Аватар пользователя Valeratal Valeratal 24 октября 2012 в 8:11

как я их сделаю обычными текстовыми (числовыми) если они, эти поля, уже в уберкарте?
руками перезабить 100500 товаров?

Да и, потом, как Вы полагаете, будет ли работать корзина (если вдруг понадобится) ?

Аватар пользователя alexandr.poddubsky alexandr.poddubsky 24 октября 2012 в 9:49

где должны показываться? если одно поле то это в настройках, если в нодевсе три показываются, то это показ поля от роли, обычная темизация

Аватар пользователя VasyOK VasyOK 24 октября 2012 в 11:23

Валера, в корзине должно отобразится только то, что считается.

100500 товаров - экспорт и импорт.
А что сейчас в этих товарах видна закупочная цена?
admin/structure/types/manage/product/display - как вариант сделать их скрытыми вот тут. Тогда они будут только при редактировании видны.

Ну или еще вариант для админа отдельную тему оформления в которой сделать вывод нужных полей. - это без особого хардкодинга.

С кодингом - сделать блок, в который PHP код вставить принимающий ноду как аргумент и выводящий из нее нужные поля. Ну или с views такое сделать. Точнее не могу сказать.

Вообще могу много дебильных решений предложить. Но я сам в подобных случаях делаю поле Закупочная цена - текстовым.

Аватар пользователя Valeratal Valeratal 24 октября 2012 в 12:00

смотрите, у нас в убере есть 3 цены

часть из них, я хочу показывать роли Менеджер по продажам

Для зарегенных и анонимов - не показывать цен вообще. Но при этом оставить возможность включения отображения и работу "корзины"

Соответственно, делать поле для цены "текстовым" или каким-то другим, внешним к уберкарту - я не могу. Убер не поймет где взять "цену" для корзины, если эта "цена" будет отдельным от него полем.

admin/structure/types/manage/product/display - ну тут вообще отключил конечно

Про темизацию от роли - я не уловил. Каким образом?

Вообще, это в 6-ке решалось просто. Почему в 7-ке столько извращений надо придумывать.

Аватар пользователя VasyOK VasyOK 24 октября 2012 в 13:38

Как в зависимости от роли:
Из node.tpl.php делаем node--product.tpl.php и там:
выводим поля. Для некоторых полей пишем условие:
Если роль такая-то, то выводить.

А как это в 6-ке решалось?

Аватар пользователя Valeratal Valeratal 24 октября 2012 в 14:53

Там было, в разрешении ролей пункт
"управлять товарами" - этот пункт показывал закупочную цену для тех, у кого было это разрешение.

В 7-ке тоже это есть (Administer products). Просто, хм, я полагал, что и продажную цену можно настраивать

Сейчас проверю, работает ли теперь Administer products

Мда, в настройках отображения, 4 вида цены. При редактировании ноды - 3

4 вида
Показываемая цена
Нормативная цена
Цена продажи
Стоимость

Цега продажи и Показываемая цена - видимо одно и то же. Но блин, где ж настраивать отображение Smile

Аватар пользователя VasyOK VasyOK 24 октября 2012 в 23:42

"Valeratal" wrote:
"управлять товарами" - этот пункт показывал закупочную цену для тех, у кого было это разрешение.

Нет! Если на сайте так, то это еще где-то задано.

По поводу цен. Если не сильно лазили в настройки перевода, то:
Цена продажи - это sell prise. Та цена которая рассчитывается. Без нее нельзя.
Показываемая цена - это list prise. Та цена которая показывается. Без нее можно.
Стоимость - цена для магазина.

Нормативная цена - это какая-то хрень. Точнее что-то индивидуальное Smile
Кто сайт делал?

Аватар пользователя Valeratal Valeratal 25 октября 2012 в 8:12

делал я, на 6-ке, 3 года назад

Сейчас был проведен апгрейд на 7-ку.

В общем, сейчас включено у роли "Менеджер" права на "управлять товарами" - видят "стоимость".

Все остальные поля цен скрыл, так как не понял где их настроить