Ubercart в drupal 7. Как не показывать поля "цена", "стоимость" для определенных ролей
23 октября 2012 в 23:48
Собственно сабж
Есть цена закупки, цена розничная
Эти поля нужны для продажников и администратора. А вот юзерам не нужны
Вопрос, как отключить их для анонимов и обычных юзеров
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Сделать их обычными текстовыми (числовыми) полями к типу материала товар.
Потом модуль типа field permissions поставить (не обязательно можно и по другому).
Дальше объяснять? Или я не понял задачу?
как я их сделаю обычными текстовыми (числовыми) если они, эти поля, уже в уберкарте?
руками перезабить 100500 товаров?
Да и, потом, как Вы полагаете, будет ли работать корзина (если вдруг понадобится) ?
где должны показываться? если одно поле то это в настройках, если в нодевсе три показываются, то это показ поля от роли, обычная темизация
Валера, в корзине должно отобразится только то, что считается.
100500 товаров - экспорт и импорт.
А что сейчас в этих товарах видна закупочная цена?
admin/structure/types/manage/product/display - как вариант сделать их скрытыми вот тут. Тогда они будут только при редактировании видны.
Ну или еще вариант для админа отдельную тему оформления в которой сделать вывод нужных полей. - это без особого хардкодинга.
С кодингом - сделать блок, в который PHP код вставить принимающий ноду как аргумент и выводящий из нее нужные поля. Ну или с views такое сделать. Точнее не могу сказать.
Вообще могу много дебильных решений предложить. Но я сам в подобных случаях делаю поле Закупочная цена - текстовым.
смотрите, у нас в убере есть 3 цены
часть из них, я хочу показывать роли Менеджер по продажам
Для зарегенных и анонимов - не показывать цен вообще. Но при этом оставить возможность включения отображения и работу "корзины"
Соответственно, делать поле для цены "текстовым" или каким-то другим, внешним к уберкарту - я не могу. Убер не поймет где взять "цену" для корзины, если эта "цена" будет отдельным от него полем.
admin/structure/types/manage/product/display - ну тут вообще отключил конечно
Про темизацию от роли - я не уловил. Каким образом?
Вообще, это в 6-ке решалось просто. Почему в 7-ке столько извращений надо придумывать.
Как в зависимости от роли:
Из node.tpl.php делаем node--product.tpl.php и там:
выводим поля. Для некоторых полей пишем условие:
Если роль такая-то, то выводить.
А как это в 6-ке решалось?
Там было, в разрешении ролей пункт
"управлять товарами" - этот пункт показывал закупочную цену для тех, у кого было это разрешение.
В 7-ке тоже это есть (Administer products). Просто, хм, я полагал, что и продажную цену можно настраивать
Сейчас проверю, работает ли теперь Administer products
Мда, в настройках отображения, 4 вида цены. При редактировании ноды - 3
4 вида
Показываемая цена
Нормативная цена
Цена продажи
Стоимость
Цега продажи и Показываемая цена - видимо одно и то же. Но блин, где ж настраивать отображение
Нет! Если на сайте так, то это еще где-то задано.
По поводу цен. Если не сильно лазили в настройки перевода, то:
Цена продажи - это sell prise. Та цена которая рассчитывается. Без нее нельзя.
Показываемая цена - это list prise. Та цена которая показывается. Без нее можно.
Стоимость - цена для магазина.
Нормативная цена - это какая-то хрень. Точнее что-то индивидуальное
Кто сайт делал?
делал я, на 6-ке, 3 года назад
Сейчас был проведен апгрейд на 7-ку.
В общем, сейчас включено у роли "Менеджер" права на "управлять товарами" - видят "стоимость".
Все остальные поля цен скрыл, так как не понял где их настроить