список товаров для определенной группы покупателей

Тема в разделе "OpenCart", создана пользователем cherkas, 20 янв 2017.

  1. cherkas

    cherkas

    Регистрация:
    25 фев 2013
    Сообщения:
    451
    Симпатии:
    57
    Здравствуйте, как в категории (производителе, поиске, акциях и т.п.) сделать, что бы выбор вида отображения списком был только у группы покупателей с id=2

    как определить кто зашел в магазин?
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    https://github.com/opencart/opencart/blob/2.3.0.2/upload/system/library/cart/customer.php
    Метод getGroupId.

    В зависимости от версии ОК расположение файла и название метода может отличаться, но он всегда есть.
    В данном случае будет:
    PHP:
    $this->customer->getGroupId()
    И есть ещё
    PHP:
    $this->config->get('config_customer_group_id')
    Который заполняется как раз этим методом.
     
  3. cherkas

    cherkas

    Регистрация:
    25 фев 2013
    Сообщения:
    451
    Симпатии:
    57
    нужно для опенкарт 1.5.6.4 (чистая, не сборка)

    я вставил в контроллер категории так

    PHP:
    public function index() {
            
    $this->language->load('product/category');

            
    $this->load->model('catalog/category');

            
    $this->load->model('catalog/product');
            
    $this->config->get('config_customer_group_id');
            
    $this->load->model('tool/image');
    а в tpl так

    PHP:
    <?php echo $config_customer_group_id?>
    и ничего, что то я видимо не правильно понял. Но и ошибок ни каких не показывает, они включены, проверил.

    Получается передается пустое значение.


    как вариант пробовал так

    PHP:
        public function index() {
            
    $this->language->load('product/category');

            
    $this->load->model('catalog/category');

            
    $this->load->model('catalog/product');
            
    $config_customer_group_id=$this->config->get('config_customer_group_id');
            
    $this->load->model('tool/image'); 
    результата нету, но и ошибок опять же нету

    заходил из под разных групп покупателей

    поставил в tpl вывод произвольной переменной, ошибок тоже не показывает.

    при этом если в контроллере менять
    Код:
    $this->config->get('config_customer_group_id');
    то страница белая и не грузится.
     
    Последнее редактирование: 22 янв 2017
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    cherkas, не ожидал от вас такого. Такую ошибку можно допустить разве что первый раз работая с ОК.
    Первый вариант вообще бессмысленный для любого движка, а второй вариант бессмысленный в ОК.

    Вы разве не знаете, как в ОК передаются переменные из контроллера в шаблон?
    Для ветки 1.5 это будет:
    PHP:
    $this->data['__название__'] = '__значение__';
    А в двойке вместо $this->data - просто $data.

    Кроме того, в ветке 1.5 нет config_customer_group_id - это появилось в двойке (если версия не указывается я уже давно рассчитываю, что речь идёт о двойке).

    В 1.5 единственный вариант это:
    PHP:
    $this->data['customer_group_id'] = $this->customer->getCustomerGroupId();
    Тогда в шаблоне будет $customer_group_id с нужным значением.

    Но в отличии от двойки, в 1.5 можно прямо в шаблоне вызвать
    PHP:
    $this->customer->getCustomerGroupId()
    Не создавая лишних переменных через контроллер.


    И не забывайте чистить кеш модификаторов после внесения правок.
     
  5. cherkas

    cherkas

    Регистрация:
    25 фев 2013
    Сообщения:
    451
    Симпатии:
    57
    самому стыдно :Blush: , чего то я тупанул с утра.



    _____________________________________________________________

    спасибо, работает :Blush:
     
    Последнее редактирование: 22 янв 2017