Jump to content
max1985

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

Recommended Posts

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

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

Спасибо!

Share this post


Link to post
Share on other sites

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

 

Спойлер

    
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>
            

    
          
          
          
 

 

Share this post


Link to post
Share on other sites
12 часов назад, anboza сказал:

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

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

Share this post


Link to post
Share on other sites
40 минут назад, max1985 сказал:

Undefined property: Proxy::getAllWishlist();

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

add2wish.jpg

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
3 минуты назад, anboza сказал:

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

Вот

wish.zip

Share this post


Link to post
Share on other sites
8 минут назад, max1985 сказал:

Вот

wish.zip

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

Share this post


Link to post
Share on other sites
5 минут назад, anboza сказал:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.