[Решено] Mega Filter PRO 2.0.4.3.2 фильтрует списком и без изображений

Тема в разделе "OpenCart", создана пользователем CrazYViruS, 23 май 2016.

  1. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    Доброго времени возникла проблема с модулем Mega Filter PRO 2.0.4.3.2 фильтрует списком и без изображений, в настройках модуля способов вывода не увидел, надобно выводить сеткой, и почему без изображений ...

    В mega_filter.js изменял тут, результата нет.
    PHP:
    if( typeof jQuery.totalStorage == 'function' && jQuery.totalStorage('display') ) {
                
    display_MFPjQuery.totalStorage('display') );
            } else if( 
    typeof jQuery.cookie == 'function' && jQuery.cookie('display') ) {
                
    display_MFPjQuery.cookie('display') );
            } else {
                
    display_MFP'grid' );
            }
    tsh.com.ua/index.php?route=product/category&path=171_172

    В error.log ошибок нет, в консоле тоже ...

    Помогите пожалуйста

    Mega Filter PRO 2.0.4.3.2
    Opencart 2.1.0.1
    Journal 2.7.0
     
    Последнее редактирование: 23 май 2016
  2. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.049
    Симпатии:
    777
    Не уверен насчёт конкретно этой версии, но вообще у него в настройках должно быть поле, в которое можно вписать js для выполнения после отработки фильтра. Вот туда и нужно вписать display_MFP( 'grid' );

    А насчёт отсутствия изображений - вы его шаблон вывода товаров обновляли после установки? Туда нужно скопировать код из шаблона категории, в вашем случае, Journal.
     
    CrazYViruS нравится это.
  3. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    Да есть там такое:

    PHP:
    MegaFilter.prototype.beforeRequest = function() {
                var 
    self this;
    };

    MegaFilter.prototype.beforeRender = function( htmlResponsehtmlContentjson ) {
                var 
    self this;
    };

    MegaFilter.prototype.afterRender = function( htmlResponsehtmlContentjson ) {   
                    var 
    self this;
    };
    Как в последнюю вставлял так и во все, ничего.
     
  4. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.049
    Симпатии:
    777
    Там нужно либо так:
    PHP:
    MegaFilter.prototype.afterRender = function( htmlResponsehtmlContentjson ) {   
                    var 
    self this;
                    
    display_MFP'grid' );
    };
    Либо совсем отдельно.
    И смотрите консоль браузера, может, там есть ошибки.
     
    CrazYViruS нравится это.
  5. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    Да, не помогло, я только не пойму откуда он берет шаблон, \module\mega_filter.tpl или mega_filter.js

    Кстати если после отфильтровки обновить страницу то все становиться нормально ...
    С Brainyfilter таже история ...
     
  6. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.049
    Симпатии:
    777
    А display_MFP( 'grid' ); вообще работает? В оригинале же display( 'grid' );
     
  7. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    Вручную в mega_filter.js менял в display_MFP( 'list на grid' ) и ничего (кеш чистил, кукисы чистил) ошибок в консоле нет, еще я в mega_filter.js прописывал
    localStorage.setItem('display', 'grid');
    PHP:
        localStorage.setItem('display''grid');

    if (
    localStorage.getItem('display') == 'list') {
            
    jQuery('#list-view').trigger('click');
        } else {
            
    jQuery('#grid-view').trigger('click');
        }
    вот в mega_filter.js эта функция:

    В шаблоне другой метод сетка/список ...

    Вот вроде както я решил это:
    Осталось решить с изображениями:
    Какоето решение есть но очень кривое (нашел на нулле)
    В category.tpl заменяется это:
    PHP:
      <a href="<?php echo $product['href']; ?><?php if(isset($product['thumb2']) && $product['thumb2']): ?> class="has-second-image" style="background: url('<?php echo $product['thumb2']; ?>') no-repeat;" <?php endif; ?>>
      <img class="lazy first-image" width="<?php echo $this->journal2->settings->get('config_image_width'); ?>" height="<?php echo $this->journal2->settings->get('config_image_height'); ?>" src="<?php echo $this->journal2->settings->get('product_dummy_image'); ?>" data-src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" />
      </a>
    На это:
    PHP:
     <a href="<?php echo $product['href']; ?><?php if(isset($product['thumb2']) && $product['thumb2']): ?> class="has-second-image" style="background: url('<?php echo $product['thumb2']; ?>') no-repeat;" <?php endif; ?>>
                    <img class="lazy first-image" src="<?php echo $product['thumb']; ?>" data-src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" />
                </a>
     
    Последнее редактирование: 25 май 2016
  8. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.049
    Симпатии:
    777
    Хм, если я правильно понимаю, то при каждом срабатывании display_MFP навешиваются новые обработчики клика по переключателю сетка/список.
    Вообще, без ссылки на сайт дальше нет смысла разговаривать.
     
    CrazYViruS нравится это.
  9. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    *ссылка на сайт в первом посте, я её так запостил тк не хочу чтоб забанили за рекламу =)
    С сеткой решил, мое предыдущие сообщение сейчас покажу что с изображениями =(
     
  10. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.049
    Симпатии:
    777
    В этом разделе банят не за ссылки, а за их отсутствие :Smile:
    От ссылки толку мало, пока там режим обслуживания включён.

    По поводу изображений: у фильтра свой шаблон, туда нужно скопировать код из category.tpl, чтоб фильтр после отработки рендерил товары так же, как изначально в шаблоне.
     
    CrazYViruS нравится это.
  11. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    Я не понимаю где у этого фильтра "свой шаблон" да в FilterPro свой шаблон, когдато еще на 1.5 я юзал его но тут ...
    С изображениями тоже вроде как решил, и так в category.tpl заменяется это:
    PHP:
      <a href="<?php echo $product['href']; ?><?php if(isset($product['thumb2']) && $product['thumb2']): ?> class="has-second-image" style="background: url('<?php echo $product['thumb2']; ?>') no-repeat;" <?php endif; ?>>
      <img class="lazy first-image" width="<?php echo $this->journal2->settings->get('config_image_width'); ?>" height="<?php echo $this->journal2->settings->get('config_image_height'); ?>" src="<?php echo $this->journal2->settings->get('product_dummy_image'); ?>" data-src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" />
      </a>
    На это:
    PHP:
     <a href="<?php echo $product['href']; ?><?php if(isset($product['thumb2']) && $product['thumb2']): ?> class="has-second-image" style="background: url('<?php echo $product['thumb2']; ?>') no-repeat;" <?php endif; ?>>
                    <img class="lazy first-image" src="<?php echo $product['thumb']; ?>" data-src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" />
                </a>
    И обновляем кеш Ocmod
    Конечно на все это лучше сделать vq или oc чтоб не долбаться изменениями ...
    (Режим обслуживания зараза включается всегда после обновления кеша)