Помощь Разные уровни доступа по категориям

meatuss

Постоялец
Регистрация
24 Фев 2013
Сообщения
103
Реакции
5
Магазин направлен на два направления. Розница и ОПТ.

Суть в том что бы товары с розницей отображались на сайте с ценами, а товары с ОПТом и цены для них были скрыты до регистрации покупателей.

Такое можно реализовать?

Для просмотра ссылки Войди или Зарегистрируйся
 
почитайте эту ветку: Для просмотра ссылки Войди или Зарегистрируйся здесь есть ответ на Ваш вопрос( даже в XML файле)
 
Каким образом различаются товары? По категориям или индивидуально?
 
Ок, начнем-с.. Пустые поля, неиспользуемые, типа ISBN/JAN/MPN есть в товаре? Мы одно из них используем, как флаг того, что товар оптовый, чтоб не дописывать лишнего.
 
Ок, начнем-с.. Пустые поля, неиспользуемые, типа ISBN/JAN/MPN есть в товаре? Мы одно из них используем, как флаг того, что товар оптовый, чтоб не дописывать лишнего.
да есть такие неиспользуемые поля
 
Ок, предположим, что ISBN. Ставьте 1 в это поле, если товар оптовый.

Давайте логику для вывода в категории напишу вам, примерно, дальше я думаю поймете..

Где-нибудь в controller/catalog/category.php, скажем, прям перед getProducts($data); узнаем, является ли покупатель оптовым.

$this->data['is_opt_customer'] = ($this->customer->isLogged() && $this->customer->getCustomerGroupId() == 5);

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

Добавим вывод в шаблон ISBN

Найдите
$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,

Добавьте
$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'isbn' => $result['isbn'],

Контроллер закончен.

Файл шаблона
сatalog/view/theme/ВАШАТЕМА/template/product/category.tpl

Находим следующее:
Код:
<?php if ($product['price']) { ?>
             <div class="price">
               <?php if (!$product['special']) { ?>
                 <span class="special-price"><?php echo $product['price']; ?></span>
               <?php } else { ?>
                 <span class="price-old"><?php echo $product['price']; ?></span>
                 <span class="price-new"><?php echo $product['special']; ?></span>
               <?php } ?>
               <?php if ($product['tax']) { ?>    
                 <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
               <?php } ?>
             </div>
             <?php } ?>

И, собственно, дописываем наше условие
Код:
<? if ($product['isbn']==1) {  ?>
  <? if ($is_opt_customer) { ?>
//ПОКАЗЫВАЕМ ЦЕНУ ОПТОВИКУ
<?php if ($product['price']) { ?>
             <div class="price">
               <?php if (!$product['special']) { ?>
                 <span class="special-price"><?php echo $product['price']; ?></span>
               <?php } else { ?>
                 <span class="price-old"><?php echo $product['price']; ?></span>
                 <span class="price-new"><?php echo $product['special']; ?></span>
               <?php } ?>
               <?php if ($product['tax']) { ?>    
                 <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
               <?php } ?>
             </div>
             <?php } ?>
<? } else { ?>   
ТЕКСТ, ДЛЯ ОПТОВЫХ ТОВАРОВ ВМЕСТО ЦЕНЫ НЕЗАЛОГИНЕННЫМ ПОЛЬЗОВАТЕЛЯМ
<? } ?>

<? } else { ?>
<?php if ($product['price']) { ?>
             <div class="price">
               <?php if (!$product['special']) { ?>
                 <span class="special-price"><?php echo $product['price']; ?></span>
               <?php } else { ?>
                 <span class="price-old"><?php echo $product['price']; ?></span>
                 <span class="price-new"><?php echo $product['special']; ?></span>
               <?php } ?>
               <?php if ($product['tax']) { ?>    
                 <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
               <?php } ?>
             </div>
             <?php } ?>  

<? } ?>

UPD. Чуть натупил. Исправил.
 
Назад
Сверху