Другие фильтра (хит продаж, со скидкой)

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

siteapp M
siteapp M
Возраст: 32
Репутация: 7
Сообщения: 118
Зарегистрирован: 12.01.2016
С нами: 8 лет 2 месяца

Сообщение #1 siteapp » 01.10.2019, 13:04

Добрый день, кто нить пробовал достать этот фильтр и вставить более старой версии?
Какие файлы затрагивает кусок фильтра?
Как понял вывод в шаблоне:

Код: Выделить всё

{* Other filters *}
        {if $other_filters}
            <div class="filter_group" style="padding: 25px 5px 15px;">
                {* Other filter list *}
                {foreach $other_filters as $f}
                    <div class="filter_item">
                        {$furl = {furl params=[filter=>$f->url, page=>null]}}
                        <a class="filter_link{if $smarty.get.filter && in_array($f->url, $smarty.get.filter)} checked{/if}" href="{$furl}">
                            <i class="filter_indicator"></i>
                            <span data-language="{$f->translation}">{$f->name}</span>
                        </a>
                    </div>
                {/foreach}
            </div>
        {/if}


В view/ProductsView.php:

Код: Выделить всё

private $other_filters = array('discounted', 'featured');

URL для вывода подстановка ЧПУ:

Код: Выделить всё

$result_string = $this->config->root_url.'/'.$this->lang_link.$this->catalog_type;


Сама функция 704 str:

Код: Выделить всё

$other_filters = array();
        if (!in_array($this->page->url, array('all-products', 'discounted', 'bestsellers'))) {
            $this->translations->debug = (bool)$this->config->debug_translation;
            $translations = $this->translations->get_translations(array('lang'=>$this->language->label));
            foreach ($this->other_filters as $f) {
                $label = 'features_filter_'.$f;
                $item = (object)array('url'=>$f, 'name'=>$translations->{$label}, 'translation'=>$label);
                if (!in_array($f, $filter['other_filter'])) {
                    $tm_filter = $filter;
                    $tm_filter['other_filter'] = array($f);
                    $cnt = $this->products->count_products($tm_filter);
                    if ($cnt > 0) {
                        $other_filters[] = $item;
                    }
                } else {
                    $other_filters[] = $item;
                }
            }
        }
        $this->design->assign('other_filters', $other_filters);

Перевод в админке.

Что ещё учитывать надо, а то при нажатие добавляет к url, то фильтрация не происходит
:eh:

Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 19 гостей