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

Тема в разделе "Opencart", создана пользователем meatuss, 21 окт 2015.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. meatuss

    meatuss Постоялец

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

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

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

    [​IMG]
     
  2. DobruyZluden

    DobruyZluden ___Космический___ _____засланец_____

    Регистр.:
    8 сен 2015
    Сообщения:
    182
    Симпатии:
    83
  3. meatuss

    meatuss Постоялец

    Регистр.:
    24 фев 2013
    Сообщения:
    86
    Симпатии:
    5
  4. nethare

    nethare Постоялец

    Регистр.:
    27 окт 2012
    Сообщения:
    104
    Симпатии:
    30
    Каким образом различаются товары? По категориям или индивидуально?
     
  5. meatuss

    meatuss Постоялец

    Регистр.:
    24 фев 2013
    Сообщения:
    86
    Симпатии:
    5
    по товарам
     
  6. nethare

    nethare Постоялец

    Регистр.:
    27 окт 2012
    Сообщения:
    104
    Симпатии:
    30
    Ок, начнем-с.. Пустые поля, неиспользуемые, типа ISBN/JAN/MPN есть в товаре? Мы одно из них используем, как флаг того, что товар оптовый, чтоб не дописывать лишнего.
     
  7. meatuss

    meatuss Постоялец

    Регистр.:
    24 фев 2013
    Сообщения:
    86
    Симпатии:
    5
    да есть такие неиспользуемые поля
     
  8. nethare

    nethare Постоялец

    Регистр.:
    27 окт 2012
    Сообщения:
    104
    Симпатии:
    30
    Ок, предположим, что 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. Чуть натупил. Исправил.