COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

shturmavik

Соучастники
  • Публикации

    9
  • Зарегистрирован

  • Посещение

  • Days Won

    1

Сообщения, опубликованные пользователем shturmavik

  1. Или есть вот такой код:

    вставьте его в catalog\controller\product\product.php
    например перед

    if ($product_info) {

    и увидите результат.

     

     

    вставьте его в catalog\controller\product\product.php
    например перед
    if ($product_info) {
    и увидите результат.


    Отлично. Уже есть движение. Но есть не достаток:
    Когда например в сессии товара нет, залогинимся и добавим товар в закладки, то уже проверка не работает. Я так понял, что уже надо считывать из базы данных. Так как сессия отключается (в плане код). Какие могут быть дальше действия?

  2. Поступил совет.

    не нужно в моделе что то добавлять. Все данные есть в сессии $this->session->data['wishlist']
    Именно его вы можете перебрать, чтобы получить только id товара без ключа.

    А если мне сделать такое сравнение товара с wishlist
     

    $product_info = $this->model_catalog_product->getProduct($product_id);
        $this->load->model('account/wishlist');
      
            if ($product_info) {
                if ($this->session->data['wishlist'] == $this->request->post['product_id']) {  
                    $data['AllWishlist'] = true;
                }
                }

    Или есть вот такой код:
     

    if (isset($this->session->data['wishlist'])) {
      if (in_array($product_id, $this->session->data['wishlist'])) {
        echo 'do something';
      }
    } 

    Но они у меня не сработали или я их ставлю не туда

  3. Подскажите. Вставил в catalog/model/account/wishlist.php
     

            public function getAllWishlist() {
            if ($data = $this->getWishlist()) {
                $out = array();
                foreach ($data as $key => $value) {
                    $out[] = $value['product_id'];
                }
                return $out;
            } else if (isset($this->session->data['wishlist'])) {
                return $this->session->data['wishlist'];
            } else {
                return false;
            }
    
        }

    Добавил код в catalog/controller/product/category.php
     

    $this->load->model('account/wishlist');
            $data['AllWishlist'] = $this->model_account_wishlist->getAllWishlist();

    И в файл catalog/view/theme/default/template/product/category.tpl
     

    <?php if(in_array($product['product_id'], $AllWishlist)) { ?>
            Этот товар в закладках
            <?php } ?>

    Браузер выдает ошибку 
     

    Warning: in_array() expects parameter 2 to be array, boolean given in /home/u146021/best-socksru/www/catalog/view/theme/default/template/product/category.tpl on line 130
  4. Честно я 10 часов просидел в поисках овтетов с форумов, в основном с англоязычных. Мне сложно понять куда подставлять данные коды: в controller или в view.

    Есть ли такая возможность проверить на своём движке или скинуть код и куда подставлять его и я у себя реализую.

    Мне, по правде, сложно понять куда это вставить 

    $this->model_account_wishlist->getTotalWishlist());

    Ну и скорее всего это часть какого-то большого кода.

    Спасибо, что ответили. Погуглю инфу по вашему куску кода.