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

shturmavik

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

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

  • Посещение

  • Days Won

    1

shturmavik last won the day on April 6 2021

shturmavik had the most liked content!

Посетители профиля

Блок посетителей профиля отключен и не будет отображаться другим пользователям

shturmavik's Achievements

  1. Добавил код в catalog/model/account/wishlist.php public function getAllWishlist() { // by nix 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']; } } Добавил код в catalog/controller/product/product.php $this->load->model('account/wishlist'); $zol_wish = $this->model_account_wishlist->getAllWishlist(); if (isset($product_id) && isset($zol_wish)) { if (in_array($product_id, $zol_wish)) { $data['AllWishlist'] = true; } } Выше этого кода: if ($product_info) { $url = ''; if (isset($this->request->get['path'])) { В файл catalog/view/theme/default/template/product/product.tpl заменил кнопку сердечка на такой код: <?php if ($logged) { ?> <script type="text/javascript"> function ChangeColor(Element) { Element.style.color = 'red'; } </script> <button <?php if(isset($AllWishlist)) { ?> style="color: red" <?php } ?> type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product_id; ?>'); ChangeColor(this);"><i class="fa fa-heart"></i></button> <?php } ?> Добавил код в catalog/controller/product/category.php Вот такой код: $this->load->model('account/wishlist'); $data['AllWishlist'] = $this->model_account_wishlist->getAllWishlist(); Выше этого кода: $data['breadcrumbs'] = array(); В файл catalog/view/theme/default/template/product/category.tpl заменил кнопку сердечка на такой код: <?php if ($logged) { ?> <script type="text/javascript"> function ChangeColor(Element) { Element.style.color = 'red'; } </script> <button <?php if(isset($AllWishlist)) { ?> <?php if(in_array($product['product_id'], $AllWishlist)) { ?> style="color: red" <?php } ?> <?php } ?> type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>'); ChangeColor(this);"><i class="fa fa-heart"></i></button> <?php } ?> Теперь если мы залогинимся, то у товара появиться сердечко. Если нажмём, то оно загорится красным и товар добавиться в закладки. Если удалил из закладок, то сердечко перестанет быть красным.Пример http://best-socks.ru/
  2. Кажись я решил всё. отпишусь чуть позднее. Настрою всё
  3. Или есть вот такой код: вставьте его в catalog\controller\product\product.phpнапример перед if ($product_info) { и увидите результат. Отлично. Уже есть движение. Но есть не достаток:Когда например в сессии товара нет, залогинимся и добавим товар в закладки, то уже проверка не работает. Я так понял, что уже надо считывать из базы данных. Так как сессия отключается (в плане код). Какие могут быть дальше действия?
  4. Поступил совет. не нужно в моделе что то добавлять. Все данные есть в сессии $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'; } } Но они у меня не сработали или я их ставлю не туда
  5. Подскажите. Вставил в 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 } ?> Браузер выдает ошибку
  6. Как можно на странице product.tpl и category.tpl проверить есть ли товар в Избранном/ Закладках?Хочу применить css стиль.Движок OpenCart 2.1.0.2 (rs.1)
  7. Честно я 10 часов просидел в поисках овтетов с форумов, в основном с англоязычных. Мне сложно понять куда подставлять данные коды: в controller или в view. Есть ли такая возможность проверить на своём движке или скинуть код и куда подставлять его и я у себя реализую. Мне, по правде, сложно понять куда это вставить $this->model_account_wishlist->getTotalWishlist()); Ну и скорее всего это часть какого-то большого кода. Спасибо, что ответили. Погуглю инфу по вашему куску кода.
  8. Как можно на странице product.tpl и category.tpl проверить есть ли товар в Избранном/ Закладках?Хочу применить css стиль.Движок OpenCart 2.1.0.2 (rs.1)