Перейти к содержанию
Официальный форум поддержки Simpla

Отдельные страницы для рекомендуемых и акционных товаров


Перейти к решению Решено Kosjak76,

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

поставить условие на категорию,  если категория совпадает с категорией товара то выводить товар, если не совпадает то пропускаем товар, как то так или вы полный код с инструкцией хотели?

 

ну находясь в ветке готовых решений думал найду такое готовое решение ... если не найду, уйду на fl

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 64
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Популярные посты

Короче, выкладываю рабочее решение: .htaccess в корне сайта:   RewriteRule ^hits/?$    index.php?module=ProductsView&mode=hits [L,QSA]RewriteRule ^sale/?$    index.php?module=ProductsView&mode

Нет, создавать ничего не надо, небольшие изменения в ПродуктсВью и .htaccess

Пишите свой View на подобии MainView.php далее пишете свой плагин к smarty для выборки товаров фильтруя нужными вам параметрами (акционный, хит, новинка) и выводите в шаблон. Посмотрите как реализован

ну находясь в ветке готовых решений думал найду такое готовое решение ... если не найду, уйду на fl

 

вы находитесь в ветке готовых решений, где люди сами выкладывают свой код а не просят дописать код за них. Вот вы сами сделаете и создадите в готовых решениях ваш вариант.  Принцип того что вам надо сделать я описал, берем книжку по смарти и читаем. всегда не знаете может не раз еще пригодиться, я вам даже конкретную ссылку оставлю тут на ваш вариант https://www.smarty.net/docsv2/ru/language.function.if

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

ну мы не телепаты хотя бы подробно бы расписал

Все сделал по инструкции при переходе по адресу sales или hits пишет Страница не найдена

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

hits и sales работают

но в фильтре не убираются свойства и их значения для товаров, которые не hits и не sales

 

предполагаю, что это не $category, а $page

 

есть решение, как допилить, чтобы фильтр работал, как на /products или /catalog ?

 

p.s. удаление if(!empty($category)) из view/ProductsView.php дало результат для отображения фильтра на странице Все товары, но hits и sales - это не $category и чего то не хватает для корректной работы

Изменено пользователем aroman80
Ссылка на сообщение
Поделиться на другие сайты

в /hits и /sales выводятся все свойства и все значения, которые существуют, даже если товары в /hits и /sales не имеют этих свойств

 

так понятнее?

Изменено пользователем aroman80
Ссылка на сообщение
Поделиться на другие сайты

А нафига вам там свойства?

Или просто шоб було?

Такое впечатление, что вы лепите в магазин все, что найдете бесплатного, без понимания, что это и как работает...

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

Если вы хотите чтобы там были только свойства от товаров, которые там есть, то вам придется писать фильтры для этого.

Типа, как сделано для видимых товаров:

 

if(isset($filter['visible']))
            $visible_filter = $this->db->placehold('INNER JOIN __products p ON p.id=po.product_id AND visible=?', intval($filter['visible']));
Ссылка на сообщение
Поделиться на другие сайты

На вопрос

 

в /hits и /sales выводятся все свойства и все значения, которые существуют, даже если товары в /hits и /sales не имеют этих свойств

 

ответ был дан ранее:

 

удаление if(!empty($category)) из view/ProductsView.php дало результат для отображения фильтра на странице Все товары, но hits и sales - это не $category и чего то не хватает для корректной работы

 

Для корректной работы Вам не хватает понимания смысла проводимых изменений.

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

Ссылка на сообщение
Поделиться на другие сайты
  • 9 месяцев спустя...

В файле ProductsView.php

        if ($mode == 'hits')
        {
            $filter['featured'] = 1;
        }
        if ($mode == 'sale')
        {
            $filter['discounted'] = 1;
        }

Меняем (или используем вместо)

        $mode = $this->request->get('mode');
        if (!empty($mode)) {
            if ($mode == 'hits') {
                $filter['featured'] = 1;
            } elseif ($mode == 'sale') {
                $filter['discounted'] = 1;
            }
        }

Решает вопрос с ошибками: Ошибки возникают из отсутствия этой строчки

$mode = $this->request->get('mode');

Notice: Undefined variable: mode in ..../view/ProductsView.php on line 32
Notice: Undefined variable: mode in ..../view/ProductsView.php on line 36
Warning: Cannot modify header information - headers already sent by (output started at ../ProductsView.php:32) in ...../index.php on line 26

Изменено пользователем Kosjak76
Ссылка на сообщение
Поделиться на другие сайты

В файле ProductsView.php

        if ($mode == 'hits')
        {
            $filter['featured'] = 1;
        }
        if ($mode == 'sale')
        {
            $filter['discounted'] = 1;
        }

Меняем (или используем вместо)

        $mode = $this->request->get('mode');
        if (!empty($mode)) {
            if ($mode == 'hits') {
                $filter['featured'] = 1;
            } elseif ($mode == 'sale') {
                $filter['discounted'] = 1;
            }
        }

Решает вопрос с ошибками: Ошибки возникают из отсутствия этой строчки

$mode = $this->request->get('mode');

Notice: Undefined variable: mode in ..../view/ProductsView.php on line 32

Notice: Undefined variable: mode in ..../view/ProductsView.php on line 36

Warning: Cannot modify header information - headers already sent by (output started at ../ProductsView.php:32) in ...../index.php on line 26

эта строчка есть выше. смотрите внимательно решение. может вы не включили ее в свой код. выше 

        
$mode    = $this->request->get('mode', 'string');
$filter = array();
        $filter['visible'] = 1;    
Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...