Jump to content

Случайный вывод рекомендуемых товаров на главной


Recommended Posts

В api/products.php

 

Найти:



if(!empty($filter['sort']))
    switch ($filter['sort'])
{


После вставить, по аналогу остальных сортировок:



case 'random':
$order = 'RAND()';
break;


Ваш шаблон в main.tpl

 

Найти:



{get_featured_products var=featured_products} 


Изменить на:



{get_featured_products var=featured_products limit=12 sort='random'} 


 

где limit=12 кол-во выводимых рекомендуемых товаров.

 

Таким образом получаем неограниченое кол-во назначенных рекомендуемых товаров

которые будут рандомно выводится на главной странице в кол-ве 12 шт.

 

Аналогичным образом можно изменить строки в шаблоне для новинок:



{get_new_products var=new_products}


и для товаров со скидкой:



{get_discounted_products var=discounted_products}


 

Что это дает ? Улучшенную индексацию сайта поисковиками, и более

лучшее представление товаров для Ваших клиентов.

 

Ну и последний штрих (по желанию), добавляем в {* Метатеги *} в index.tpl вашего шаблона:



<meta name="document-state" content="Dynamic" />


Тег обладает двумя значениями — Static и Dynamic. Значение «Static» отмечает, что 

поисковикам нет необходимости индексировать документ в дальнейшем, «Dynamic» позволяет 

регулярно индексировать Интернет-страницу.
Link to post
Share on other sites
  • 2 weeks later...

Рандомная выдача плоха тем, что если человек запоминает где ему это приглянулось он никогда не попадет туда и не увидет это снова, а это мего-плохо с точки зрения маркетинга

Link to post
Share on other sites

Рандомная выдача плоха тем, что если человек запоминает где ему это приглянулось он никогда не попадет туда и не увидет это снова, а это мего-плохо с точки зрения маркетинга

Нормальный человек переходит на страницу продукта если тот ему "приглянулся". А вот выдача первых девяти или даже ста рекомендуемых товаров в одном и том же порядке из нескольких тысяч возможных - вот это и есть зло. Если в Вашем магазине 50 товаров, понятно что это решение Вам ни к чему. И ещё вопрос, какое отношение Вы имеете к маркетингу?

Link to post
Share on other sites

Рандомная выдача плоха тем, что если человек запоминает где ему это приглянулось он никогда не попадет туда и не увидет это снова, а это мего-плохо с точки зрения маркетинга

 

Добавлю, слева в сайдбаре имеется "колонка" просмотренные товары.

Из практики, если у вас каталог этак на 2000-3000 товаров, то клиенту лень, или нет желания, сидеть и ковыряться ищя то, что ему надо он или звонит и конкретно спрашивает что ему надо, либо я ему говорю, что забить в поиск что-бы попасть сразу на требуемую страницу товара, спасибо что у нас поиск отлично пашет.

И вообще у меня более 4000 позиций, да 70% из них под заказ, но мне тяжело вывести на главную 100 или 200 рекомендуемых мной товаров, (скролить устанешь )) ) да и вес главной будет большой, учитывая кол-во брендов и т.п. Поэтому это решение очень подходит для громадных каталогов + у вас всегда главная будет динамичной и будет видно что магазин "живой".

Link to post
Share on other sites
  • 1 month later...

Спасибо! Отличная тема, пригодилось. Все работает. Было бы конечно в идеале чтобы товары прокручивались без обновления страницы, а прямо в режиме онлайн, интересно возможно ли такое реализовать?

Link to post
Share on other sites
  • 3 weeks later...
  • 5 months later...
  • 3 months later...
  • 1 month later...

спасибо конечно большое, но у меня почему-то не работает

сделал как написано...получилось так:

 

api/products.php

 		if(!empty($filter['sort']))
			switch ($filter['sort'])
			{
				case 'random':
                                $order = 'RAND()';
                                break;
                                case 'position':
				$order = 'p.position DESC';
				break;
				case 'name':
				$order = 'p.name';
				break;
				case 'created':
				$order = 'p.created DESC';
				break;
				case 'price':
				//$order = 'pv.price IS NULL, pv.price=0, pv.price';
				$order = '(SELECT -pv.price FROM __variants pv WHERE (pv.stock IS NULL OR pv.stock>0) AND p.id = pv.product_id AND pv.position=(SELECT MIN(position) FROM __variants WHERE (stock>0 OR stock IS NULL) AND product_id=p.id LIMIT 1) LIMIT 1) DESC';
				break;
			}

а это main.tpl

<a name="new_products"></a>
<div class="container">

<div class="title"><span>Новинки каталога:</span></div>

<div class="tab_container">

	{get_featured_products var=featured_products limit=15 order='RAND()'}
	{if $featured_products}
		<div id="tab1" class="tab_content">
			<ul class="tiny_products main">
			{foreach $featured_products as $product}
			<li class="product">{include file='tpl_products_blocks.tpl'}</li>
			{/foreach}
			</ul>
		</div>
	{/if}

	{get_new_products var=new_products limit=15 order='RAND()'}
	{if $new_products}
		<div id="tab2" class="tab_content">
			<ul class="tiny_products main">
			{foreach $new_products as $product}
			<li class="product"><div class="label label_new"></div>{include file='tpl_products_blocks.tpl'}</li>
			{/foreach}
			</ul>
		</div>
	{/if}

	{get_discounted_products var=discounted_products limit=12 order='RAND()'}
	{if $discounted_products}
		<div id="tab3" class="tab_content">
			<ul class="tiny_products main">
			{foreach $discounted_products as $product}
			<li class="product">{include file='tpl_products_blocks.tpl'}</li>
			{/foreach}
			</ul>
		</div>
	{/if}
</div></div>

Может что-то не так делаю?

Link to post
Share on other sites

 

Есть, и причем в Вашем случаи, рабочий

{get_featured_products var=featured_products limit=12 sort="random"}

Спасибо большое.....ты был прав.... скопировал твой код и вставил...все заработало...ошибка у меня была в коде, а именно в sort="random"}..... т.к. было сort="random

Спасибо еще раз большое... очень благодарен

Link to post
Share on other sites
  • 1 month later...
  • 6 months later...

 

В api/products.php
 
Найти:
if(!empty($filter['sort']))
    switch ($filter['sort'])
{
После вставить, по аналогу остальных сортировок:
case 'random':
$order = 'RAND()';
break;
Ваш шаблон в main.tpl
 
Найти:
{get_featured_products var=featured_products} 
Изменить на:
{get_featured_products var=featured_products limit=12 sort='random'} 
 
где limit=12 кол-во выводимых рекомендуемых товаров.
 
Таким образом получаем неограниченое кол-во назначенных рекомендуемых товаров
которые будут рандомно выводится на главной странице в кол-ве 12 шт.
 
Аналогичным образом можно изменить строки в шаблоне для новинок:
{get_new_products var=new_products}
и для товаров со скидкой:
{get_discounted_products var=discounted_products}
 
Что это дает ? Улучшенную индексацию сайта поисковиками, и более
лучшее представление товаров для Ваших клиентов.
 
Ну и последний штрих (по желанию), добавляем в {* Метатеги *} в index.tpl вашего шаблона:
<meta name="document-state" content="Dynamic" />
Тег обладает двумя значениями — Static и Dynamic. Значение «Static» отмечает, что 
поисковикам нет необходимости индексировать документ в дальнейшем, «Dynamic» позволяет 
регулярно индексировать Интернет-страницу.

 

Спасибо тебе добрый человек!!!! работы тебе лёгкой и желательно удаленной с ноутом на берегу ГОА )))

 

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
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.

Loading...
×
×
  • Create New...