Перейти к содержимому


Фото
- - - - -

Ограничить новинки - не более 7 дней


Best Answer chocolate_moles , 11.04.2018 - 23:20

Ребят, нужно подсказка! На главной есть вывод новинок, нужно ограничить условием, чтобы показывать только товары, добавленные не более 7 дней назад. В БД у нас есть поле created, от которого можно отталкиваться. Как это сделать?

 
в api/Products.php в первой функции по аналогии дописать 

if(isset($filter['week']))
$week_filter = 'AND p.created + interval 7 DAY >= NOW()';

и учть ниже где

WHERE 
1
$product_id_filter

дописать

$week_filter

в файле view/View.php в функцию

public function get_new_products_plugin($params, &$smarty)

дописать

$params['week'] = true;
Перейти к посту


  • Чтобы отвечать, сперва войдите на форум
3 ответов в теме

#1 kazak

kazak
  • Пользователь
  • 54 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 11.04.2018 - 22:11

Ребят, нужно подсказка! На главной есть вывод новинок, нужно ограничить условием, чтобы показывать только товары, добавленные не более 7 дней назад. В БД у нас есть поле created, от которого можно отталкиваться. Как это сделать?

 

Вот текущий код:

{* Новинки*}
{get_new_products var=new_products limit=10}
{if $new_products}
    <h2>Новинки</h2>
    <!-- Список товаров-->
    <div class="tiny_products">
        {foreach $new_products as $product}
            <!-- Товар-->
            <div class="product">
                <!-- Фото товара -->
                {if $product->image}
                    <div class="image">
                        <a href="{$product->url_full}.html"><img src="{$product->image->filename|resize:200:200}" alt="{$product->name|escape}"/></a>
                    </div>
                {else}
                    <div class="image">
                        <a title="{$product->name}" href="{$product->url_full}.html"><img
                                    src="design/{$settings->theme|escape}/images/no_image.jpg" alt="{$product->name|escape}"/></a>
                    </div>
                {/if}
                <!-- Фото товара (The End) -->
                <!-- Название товара -->
                <a data-product="{$product->id}" href="{$product->url_full}.html">{$product->name|escape}</a>                
                <!-- Название товара (The End) -->
                <!-- Стоимость товара -->
                <div class="pricemain">
                    {if $product->variant->compare_price > 0}
                        <span class="akcia">{$product->variant->compare_price|convert} {$currency->sign|escape}</span>
                        <br>
                    {/if}
                    <span>{$product->variant->price|convert} {$currency->sign|escape}</span>
                </div>
                <!-- Стоимость товара конец -->
            </div>
            <!-- Товар (The End)-->
        {/foreach}
    </div>
{/if}
{*Новинки *}

PS: если кто-то будет переделывать по примеру с моего кода, меняйте в моем коде url_full на url и убирайте .html - у меня не стандартные урлы.


Изменено: kazak, 11.04.2018 - 22:12


#2 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 371 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 11.04.2018 - 22:36

А если нет товаров или мало спустя 7 дней?


Изменено: Maksclub, 11.04.2018 - 22:37


#3 chocolate_moles

chocolate_moles
  • Фрилансер
  • 422 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 11.04.2018 - 23:20   Best Answer

Ребят, нужно подсказка! На главной есть вывод новинок, нужно ограничить условием, чтобы показывать только товары, добавленные не более 7 дней назад. В БД у нас есть поле created, от которого можно отталкиваться. Как это сделать?

 
в api/Products.php в первой функции по аналогии дописать 

if(isset($filter['week']))
$week_filter = 'AND p.created + interval 7 DAY >= NOW()';

и учть ниже где

WHERE 
1
$product_id_filter

дописать

$week_filter

в файле view/View.php в функцию

public function get_new_products_plugin($params, &$smarty)

дописать

$params['week'] = true;

Изменено: chocolate_moles, 11.04.2018 - 23:20


#4 kazak

kazak
  • Пользователь
  • 54 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 12.04.2018 - 10:59

 
в api/Products.php в первой функции по аналогии дописать ....

chocolate_moles, работает, спасибо огромное!



Думаю можно перенести топик в готовые решения.






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых