Перейти к содержанию
max1985

Добавить стиль к кнопке "В закладки" если данный товар находится уже в закладках

Рекомендуемые сообщения

Собственно весь вопрос в теме: Как добавить стиль к кнопке "В закладки" если данный товар находится уже в закладках?

Может кто делал такое?

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот из заготовок решение, не мое, но работает норм.

 

Спойлер

    
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'];
        }

    }
    
    


    
catalog\view\theme\default\template\product\category.tpl    


вместо:
<button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button>


это:
    
    
     <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>       
            
                
                
                <script type="text/javascript">
          function ChangeColor(Element) {
            Element.style.color = 'red';
          }
          </script>
          


catalog\controller\product\category.php    

перед      
          
$data['breadcrumbs'] = array();          

это:
$this->load->model('account/wishlist');
        $data['AllWishlist'] = $this->model_account_wishlist->getAllWishlist();    
        
        
        
catalog\controller\product\product.php


перед

if ($product_info) {
            $url = '';
            
            
это:


$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;
          }
          }
          
          
          
          
catalog\view\theme\default\template\product\product.tpl


вместо:
<button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product_id; ?>');"><i class="fa fa-heart"></i></button>
          
это:          
      <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>
                 
           
            <script type="text/javascript">
          function ChangeColor(Element) {
            Element.style.color = 'red';
          }
          </script>
            

    
          
          
          
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 часов назад, anboza сказал:

вот из заготовок решение, не мое, но работает норм.

Спасибо! Но выдает Notice: Undefined property: Proxy::getAllWishlist();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
40 минут назад, max1985 сказал:

Undefined property: Proxy::getAllWishlist();

catalog\model\account\wishlist.php должен выглядеть так:

add2wish.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и не забудьте обновить кеш всего. изменения вносятся и в модели и в контроллеры

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
19 минут назад, anboza сказал:

и не забудьте обновить кеш всего. изменения вносятся и в модели и в контроллеры

 

Notice: Undefined variable: this in /system/storage/modification/catalog/controller/product/category.php on line 42Notice: Trying to get property of non-object in /system/storage/modification/catalog/controller/product/category.php on line 42

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пришлите архивом файлы, которые нужно по инструкции изменить, погляджу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, anboza сказал:

пришлите архивом файлы, которые нужно по инструкции изменить, погляджу.

Вот

wish.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, max1985 сказал:

Вот

wish.zip

изменения в 5-и файлах

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, anboza сказал:

изменения в 5-и файлах

 мне в карточке не надо менять

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Буду пробовать! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×