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

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


Проблемка такая, есть много категорий.

Каждая категория имеет список своих брендов.

Но у меня выводятся в каждой категории все имеющиеся бренды. Это очень неудобно,
это как то решается?



 

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

 

Проблемка такая, есть много категорий.

 

Каждая категория имеет список своих брендов.

 

Но у меня выводятся в каждой категории все имеющиеся бренды. Это очень неудобно,

это как то решается?

 

 

 

 

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

проверьте есть ли у вас такие строки в view/ProductsView.php

// Выбираем бренды, они нужны нам в шаблоне	
if(!empty($category))
{
	$brands = $this->brands->get_brands(array('category_id'=>$category->children, 'visible'=>1));
	$category->brands = $brands;		
}

и передается ли массив айди $category->children в функцию выборки брендов

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

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

проверьте есть ли у вас такие строки в view/ProductsView.php

// Выбираем бренды, они нужны нам в шаблоне	
if(!empty($category))
{
	$brands = $this->brands->get_brands(array('category_id'=>$category->children, 'visible'=>1));
	$category->brands = $brands;		
}

и передается ли массив айди $category->children в функцию выборки брендов

в view/ProductsView.php все есть, а про последнии строки, это там же смотреть?

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

в view/ProductsView.php все есть, а про последнии строки, это там же смотреть?

 

$category->children передается в 4й строке кода выше,

 

если все есть, посмотрите в шаблоне, возможно у вас в products.tpl идет цикл не по $category->brands а просто по $brands

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

$category->children передается в 4й строке кода выше,

 

если все есть, посмотрите в шаблоне, возможно у вас в products.tpl идет цикл не по $category->brands а просто по $brands

{* Список товаров *}

{* Канонический адрес страницы *}
{if $category && $brand}
{$canonical="/catalog/{$category->url}/{$brand->url}" scope=parent}
{elseif $category}
{$canonical="/catalog/{$category->url}" scope=parent}
{elseif $brand}
{$canonical="/brands/{$brand->url}" scope=parent}
{elseif $keyword}
{$canonical="/products?keyword={$keyword|escape}" scope=parent}
{else}
{$canonical="/products" scope=parent}
{/if}

<!-- Titlebar -->
<section class="titlebar">
	<div class="container">
		<div class="sixteen columns">
			<h2>Каталог</h2>
			
			<nav id="breadcrumbs">
				<ul>
					<li><a href="/">Главная</a></li>
					{if $category}
					{foreach from=$category->path item=cat}
					<li><a href="catalog/{$cat->url}">{$cat->name|escape}</a></li>
					{/foreach}  
					{if $brand}
					<li><a href="catalog/{$cat->url}/{$brand->url}">{$brand->name|escape}</a></li>
					{/if}
					{elseif $brand}
					<li><a href="brands/{$brand->url}">{$brand->name|escape}</a></li>
					{elseif $keyword}
					<li>Поиск</li>
					{else}
					<li>Все товары</li>
					{/if}
				</ul>
			</nav>
		</div>
	</div>
</section>

<div class="container">
	<!-- Sidebar -->
	<div class="four columns">
		{if $category->subcategories}
		<div class="widget margin-top-0">
			<h3 class="headline">Категория</h3><span class="line"></span><div class="clearfix"></div>

			<ul class="filter-widget">
				{foreach $category->subcategories as $c}
					{if $c->visible}
						<li><a href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a></li>
					{/if}
				{/foreach}
			</ul>
			<div class="clearfix"></div>
		</div>
		{/if}

		<div class="widget {if !$category->subcategories}margin-top-0{/if}">
			<h3 class="headline">Сортировка</h3><span class="line"></span><div class="clearfix"></div>
			
			<ul class="filter-widget">
				<li>{if $sort=='position'}<span>По умолчанию</span>{else}<a href="{url sort=position page=null}">По умолчанию</a>{/if}</li>
				<li>{if $sort=='price'}<span>По цене</span>{else}<a href="{url sort=price page=null}">По цене</a>{/if}</li>
				<li>{if $sort=='name'}<span>По названию</span>{else}<a href="{url sort=name page=null}">По названию</a>{/if}</li>
			</ul>
			<div class="clearfix"></div>
		</div>

		{if $category->brands}
		<div class="widget{if ($products|count < 2) && !$category->subcategories} margin-top-0{/if}">		
			<h3 class="headline">Бренд</h3><span class="line"></span><div class="clearfix"></div>

			<ul class="filter-widget">
				<li>
					{if !$brand->id}
						<span>Все бренды</span>
					{else}
						<a href="catalog/{$category->url}">Все бренды</a>
					{/if}
				</li>
				
				{foreach name=brands item=b from=$category->brands}
				<li>
					{if $b->id == $brand->id}
						<span>{$b->name|escape}</span>
					{else}
						<a data-brand="{$b->id}" href="catalog/{$category->url}/{$b->url}" >{$b->name|escape}</a>
					{/if}
				<li>
				{/foreach}
			</ul>
			<div class="clearfix"></div>
		</div>
		{/if}
				
		{if $features}
		{foreach $features as $key=>$f}
		<div class="widget{if !$category->subcategories && !$category->brands && $f@first && ($products|count < 2)} margin-top-0{/if}">
			<h3 class="headline" data-feature="{$f->id}">{$f->name}</h3><span class="line"></span><div class="clearfix"></div>
				
			<ul class="filter-widget">
				<li>
					{if !$smarty.get.$key}
					<span>Все</span>
					{else}
					<a href="{url params=[$f->id=>null, page=>null]}">Все</a>
					{/if}
				</li>
				
				{foreach $f->options as $o}
				<li>
					{if $smarty.get.$key == $o->value}
					<span>{$o->value|escape}</span>
					{else}
					<a href="{url params=[$f->id=>$o->value, page=>null]}">{$o->value|escape}</a>
					{/if}
				</li>
				{/foreach}
			</ul>
			<div class="clearfix"></div>
		</div>
		{/foreach}
		{/if}

	 	<!-- Price slider -->
		{if $minprice != 0 && $minprice != 0}
	 	<div class="widget">
	 		<h3 class="headline">Цена</h3><span class="line"></span><div class="clearfix"></div>

			<input type="hidden" value="{$minprice|convert|regex_replace:'/[ ]/':''|regex_replace:'/[,]/':'.'|floor}" id="f_minPrice">
			<input type="hidden" value="{$maxprice|convert|regex_replace:'/[ ]/':''|regex_replace:'/[,]/':'.'|ceil}" id="f_maxPrice">
			<input type="hidden" value="{$current_minprice|convert|regex_replace:'/[ ]/':''|regex_replace:'/[,]/':'.'|floor}" id="f_currentMinPrice">
			<input type="hidden" value="{$current_maxprice|convert|regex_replace:'/[ ]/':''|regex_replace:'/[,]/':'.'|ceil}" id="f_currentMaxPrice">
			
			{if $currency->code == 'RUR'}
				<input type="hidden" value="true" id="f_currencyBefore">
				<input type="hidden" value="100" id="f_priceStep">
				<input type="hidden" value=" Руб." id="f_currencySymbol">
				
			{else}
				<input type="hidden" value="false" id="f_currencyBefore">
				<input type="hidden" value="10" id="f_priceStep">
				<input type="hidden" value="R" id="f_currencySymbol">
				
			{/if}

			<form method="post" id="price-range">
				<input type="hidden" name="min_price" id="min_price"/>
				<input type="hidden" name="max_price" id="max_price"/>
				
				<input type="hidden" name="rate_from" id="rate_from" value="{$currency->rate_from}"/>
				<input type="hidden" name="rate_to" id="rate_to" value="{$currency->rate_to}"/>
					
				<div class="padding-range">
					<div id="slider-range"></div>
				</div>
				
				<span class="price_text" id="min_price_text"></span>
				<span class="price_text max" id="max_price_text"></span>

				<div class="clearfix"></div>

				<div class="buttons_box">
					<a href="catalog/{$category->url}" class="button gray">Сбросить</a>
					<input type="submit" class="button color" value="Применить">
				</div>
			</form>
			<div class="clearfix"></div>
	 	</div>
		{/if}
		<div class="margin-top-30"></div>
	</div>

	<div class="twelve columns">
		<h3 class="headline category" data-feature="{$f->id}">
			{if $keyword}
			Поиск {$keyword|escape}
			{elseif $page}
			{$page->name|escape}
			{else}
			{$category->name|escape} {$brand->name|escape} {$keyword|escape}
			{/if}
		</h3>
		<span class="line category"></span>
		<div class="clearfix"></div>
	</div>
	
	<!-- Products -->
	<div class="twelve columns products">
		{if $products}
			{* Описание страницы (если задана) *}
			{if $page->body}
			<div class="category-description-box">
				{$page->body}
			</div>
			{/if}
			
			{* Описание категории *}
			{if $current_page_num==1 && $category->description}
			<div class="category-description-box">
				{$category->description}
			</div>
			{/if}

			{* Описание бренда *}
			{if $current_page_num==1 && $brand->description}
			<div class="category-description-box">
				{$brand->description}
			</div>
			{/if}

			{foreach $products as $product}
				<div class="four shop columns">
					{include file='product_item.tpl'}
				</div>
				{if ($product@iteration is div by 3) || $product@last}<div class="clearfix x3"></div>{/if}
				{if ($product@iteration is div by 2) || $product@last}<div class="clearfix x2"></div>{/if}
			{/foreach}

			<!-- Pagination -->
			<div class="pagination-container">
				{include file='pagination.tpl'}
			</div>
		{else}
			<div class="notification notice category">
				<p>Товары не найдены.</p>
			</div>
		{/if}
	</div>
</div>

<div class="margin-top-15"></div>

Все на своих местах, еще где то может быть загвоздка?

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

Загвоздка может быть в том, что Вы и mishanya говорите о разном.

 

Стандартно в Simpla на странице категории есть ДВА списка брендов:

1. Один формируется в index.tpl, выводится на всех страницах и показывает все бренды.

2. Другой формируется в products.tpl, выводится на страницах категорий в фильтре и показывает бренды, имеющиеся у товаров категории.

 

Смотрите, например, на демо сайте

http://demo.simplacms.ru/catalog/mobilnye-telefony

Там два РАЗНЫХ списка брендов видны четко...

 

Если б Вы не стеснялись и дали свой URL, возможно, вопрос бы решился быстрее. Гадание на кофейной гуще - не лучший способ...

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

Загвоздка может быть в том, что Вы и mishanya говорите о разном.

 

Стандартно в Simpla на странице категории есть ДВА списка брендов:

1. Один формируется в index.tpl, выводится на всех страницах и показывает все бренды.

2. Другой формируется в products.tpl, выводится на страницах категорий в фильтре и показывает бренды, имеющиеся у товаров категории.

 

Смотрите, например, на демо сайте

http://demo.simplacms.ru/catalog/mobilnye-telefony

Там два РАЗНЫХ списка брендов видны четко...

 

Если б Вы не стеснялись и дали свой URL, возможно, вопрос бы решился быстрее. Гадание на кофейной гуще - не лучший способ...

http://shop.almaztec.ru/catalog/komplekty-sverlilnyh-ustanovok-

При любом расекладе выводятся все бренды, но так не должно быть.

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

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

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

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

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

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

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

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

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

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