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

Вывод рекомендуемых товаров в отдельной категории


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

Продвижений по теме нет((
На данном этапе этот возможный код будет выводить в ПРОДУКТС.ТПЛ товары из выбранной категории сначала допустим со скидкой, а потом все остальные.
А нужно что бы было иначе. Человек тыкнув по ссылке попал на страницу со всеми товарами со скидками..
Как реализовать?

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

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

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

В общем у меня получилось все 3 вида (Рекомендуемые, Новинки, Скидки) отдельно сделать. Как это было:
Для раздела "Рекомендуемые" или же "Хиты продаж".
1.) В папке view сделал дубликат файла ProductsView.php и переименовал его в HitsView.php.

2.) В файле HitsView.php в строке 16, там где:

class ProductsView extends View 


вместо него пишем:

class HitsView extends View


3.) В этом же файле, почти в конце, в строке 210, там где:

$this->body = $this->design->fetch('products.tpl');


вместо него пишем:

$this->body = $this->design->fetch('hits.tpl');


Это говорит о том, что нам надо создать тот самый нужный нам файл под названием: hits.tpl в своем шаблоне.

4.) Создаем данный файл: hits.tpl в папке html и вливаем в него данный код:

<title>Хиты продаж</title>
{* Список Самых Популярных товаров *}

<!-- Хлебные крошки /-->
<div id="path">
<a href="/">Главная</a>
? Хиты продаж
</div>
<!-- Хлебные крошки #End /-->


{* Заголовок страницы *}
{if $keyword}
<h1>Поиск {$keyword|escape}</h1>
{else}
<h1>{$category->name|escape} {$brand->name|escape} {$keyword|escape}</h1>
{/if}


{* Описание страницы (если задана) *}
{$page->body}

{* Рекомендуемые товары *}
{get_featured_products var=featured_products}
{if $featured_products}
<!-- Список товаров-->
<h1>Хиты продаж</h1>
<ul class="tiny_products">

{foreach $featured_products as $product}
<!-- Товар-->
<li class="product">
	
	<!-- Фото товара -->
	{if $product->image}
	<div class="image">
          {if $product->featured}<div class="hit-main"></div>{/if}

		<a href="products/{$product->url}"><img src="{$product->image->filename|resize:200:200}" alt="{$product->name|escape}"/></a>
	</div>
	{/if}
	<!-- Фото товара (The End) -->

	<!-- Название товара -->
	<h3><a data-product="{$product->id}" href="products/{$product->url}">{$product->name|escape}</a></h3>
	<!-- Название товара (The End) -->
	

	{if $product->variants|count > 0}
	<!-- Выбор варианта товара -->
	<form class="variants" action="/cart">
		<table>
		{foreach $product->variants as $v}
		<tr class="variant">
			<td>
				<input id="featured_{$v->id}" name="variant" value="{$v->id}" type="radio" class="variant_radiobutton" {if $v@first}checked{/if} {if $product->variants|count<2}style="display:none;"{/if}/>
			</td>
			<td>
				{if $v->name}<label class="variant_name" for="featured_{$v->id}">{$v->name}</label>{/if}
			</td>
			<td>
				{if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if}
				<span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span>
			</td>
		</tr>
		{/foreach}
		</table>
		<input type="submit" class="button" value="в Корзину" data-result-text="Добавлено"/>
	</form>
	<!-- Выбор варианта товара (The End) -->
	{else}
		Нет в наличии
	{/if}

</li>
<!-- Товар (The End)-->
{/foreach}
		
</ul>
{/if}


Символы "\" возле кавычек убираем
Код берется с файла main.tpl.

5.) Теперь самое главное:
В файле .htaccess в корне сайта прописываем:
после строки

# Каталог товаров


вставляем:

# HitsRewriteRule ^hits/?$  index.php?module=HitsView  [L,QSA]


6.) В Админки сайта создаем страницу и указываем в поле "Адрес" ту страницу, что мы создали, т.е. hits. На сайте переходите на нее и вот Вам счастье :))

Вот и все. Если все сделали, как описано выше, то все должно работать. Анологично таким же образом я сделал и для "Новинок" и "Скидки".

P.S. Код для "Новинок" и "Скидки" также берем с файла main.tpl
Ссылка на сообщение
Поделиться на другие сайты

Как сделать чтоб в каждой категории товара выводились Рекомендуемые именно этой категории? Для этого я думаю не обязательно прописывать ID каждой категории.

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

--Только никак не могу подключить "pagination.tpl".
Да, я тоже пытался. Не выходит. Пока думаю и так устраивает.

howareyou, точно также, как выше описал.
Просто код для новой страницы, к примеру discounted.tpl также берете с файла main.tpl.

Вставляете вот этот код туда:

<title>Большой каталог СКИДОК</title>{* Список Скидок *}<!-- Хлебные крошки /--><div id="path">	<a href="/">Главная</a>	? Еще больше скидок</div><!-- Хлебные крошки #End /-->{* Заголовок страницы *}{if $keyword}<h1>Поиск {$keyword|escape}</h1>{else}<h1>{$category->name|escape} {$brand->name|escape} {$keyword|escape}</h1>{/if}{* Описание страницы (если задана) *}{$page->body}{* Акционные товары *}{get_discounted_products var=discounted_products limit=30}{if $discounted_products}<h1>Всесезонные СКИДКИ</h1><!-- Список товаров--><ul class="tiny_products">	{foreach $discounted_products as $product}	<!-- Товар-->	<li class="product">				<!-- Фото товара -->		{if $product->image}		<div class="image">                {if $product->variant->compare_price > 0}<div class="discount-main"></div>{/if}               			<a href="products/{$product->url}"><img src="{$product->image->filename|resize:200:200}" alt="{$product->name|escape}"/></a>		</div>		{/if}		<!-- Фото товара (The End) -->		<!-- Название товара -->		<h3><a data-product="{$product->id}" href="products/{$product->url}">{$product->name|escape}</a></h3>		<!-- Название товара (The End) -->				{if $product->variants|count > 0}		<!-- Выбор варианта товара -->		<form class="variants" action="/cart">			<table>			{foreach $product->variants as $v}			<tr class="variant">				<td>					<input id="discounted_{$v->id}" name="variant" value="{$v->id}" type="radio" class="variant_radiobutton" {if $v@first}checked{/if} {if $product->variants|count<2}style="display:none;"{/if}/>				</td>				<td>					{if $v->name}<label class="variant_name" for="discounted_{$v->id}">{$v->name}</label>{/if}				</td>				<td>					{if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if}					<span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span>				</td>			</tr>			{/foreach}			</table>			<input type="submit" class="button" value="в Корзину" data-result-text="Добавлено"/>		</form>		<!-- Выбор варианта товара (The End) -->		{else}			Нет в наличии		{/if}	</li>	<!-- Товар (The End)-->	{/foreach}			</ul>{/if}	<!-- Список товаров (The End)-->

P.S. Вот и все и не забудьте про остальные пункты, что выше сказано было.
Ссылка на сообщение
Поделиться на другие сайты
--Только никак не могу подключить "pagination.tpl".
Да, я тоже пытался. Не выходит. Пока думаю и так устраивает.--


попробуйте в шаблоне убрать
limit=30
Ссылка на сообщение
Поделиться на другие сайты

И не будет, в принципе, сама идея правильная, но я всегда делаю проще, используя шаблон products.tpl и ProductsView.php, это позволяет использовать и пагинацию и сортировку

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

Спасибо. А как в админке отобразить скрытые товары отдельно? Не на отдельной странице, а хотя бы в начале или в конце списка.

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

howareyou, не надо оффтоп. есть отдельная тема: http://forum.simplacms.ru/discussion/1849/otobrazit-skrytye-tovary-v-adminke-otdelno#Item_8

ivan888 по-моему вы уж как-то слишком увлеклись этой доработкой.. нужно смотреть в первую очередь "нужно ли это людям, когда они совершают покупку"...

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

Если есть страница с кучей хитов сваленных в одну кучу из 20-50 товаров, то хочется что бы посетитель не растерялся, а увидел все товары разложенные по понятной ему схеме. То есть ноуты к ноутам, кпк к кпк и т. д.
На много эффективнее было бы в каждой категории создать блок хитов или еще чего то (кому как нравится) и показывать в нем хиты только этой категории.
Вот только как?

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

Спасибо. Этот вариант не совсем устраивает. Задача заключается в унификации функционала. Хотелось бы чтоб в каждой категории в блок хитов были присущие только данной категории хиты. Возможно я не совсем правильно Вас понял.

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

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

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

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

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

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

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

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

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

Загрузка...
×
×
  • Создать...