Jump to content

Категории в брендах.


Go to solution Solved by Kosjak76,

Recommended Posts

Добрый день. в симпле есть 2 места, где мы можем посмотреть товары привязанные к бренду:

 

1) http://demo.simplacms.ru/brands/canon

 

2) http://demo.simplacms.ru/catalog/fotoapparaty/canon

 

Возникла необходимость во втором случае выводить категории, в которых лежат товары этого бренда.

 

Есть замечательная доработка от ExtraBash и Noxter'a:

http://forum.simplacms.ru/topic/7909-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8-%D0%B2-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8-%D0%B8%D0%BB%D0%B8-%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0-%D0%B7%D0%B0%D0%B4%D0%BE%D0%BC-%D0%BD%D0%B0%D0%BF%D0%B5%D1%80%D0%B5%D0%B4/

 

Но как оказалось, с ее помощью выводятся ВСЕ категории, в которых лежат товары бренда. Это отлично подходит для 1 варианта.

 

В случае 2 не логично показывать категорию бренда "Пылесосы", так как мы выбрали бренд в категории "сотовые телефоны".

 

Как можно вывести в бренде только категории деток?

Edited by Enhill
Link to post
Share on other sites

 

{if $category->subcategories}
...
{/if}

Это условие "если есть детки у категории".

 

Не сработает с таким вариантом событий:

 

- Фотоаппараты

--- Ручные (присвоен бренд canon)

--- Автозаводные (присвоен бренд canon)

- Пылесосы CANON (присвоен бренд canon)

 

Если мы зайдем в бренд в фотоаппаратах: фотоаппараты/ручные/canon

то получим вот такой список категорий:

- Ручные

- Автозаводные

- Пылесосы CANON

Link to post
Share on other sites

Это условие "если есть детки у категории".

 

Не сработает с таким вариантом событий:

 

- Фотоаппараты

--- Ручные (присвоен бренд canon)

--- Автозаводные (присвоен бренд canon)

- Пылесосы CANON (присвоен бренд canon)

 

Если мы зайдем в бренд в фотоаппаратах: фотоаппараты/ручные/canon

то получим вот такой список категорий:

- Ручные

- Автозаводные

- Пылесосы CANON

Моё решение предназначено для страницы бренда http://beta.simplacms.ru/brands/samsung, а не для страницы категории + бренд.

Понятное дело вам будет выведено все категории которые есть у бренда.

Для страницы категории (если я вас правильно понял) можно использовать простой код:

{if $category->subcategories}
<ul>
	{foreach $category->subcategories as $c}
	{if $c->visible}
	<li>
		<a href="catalog/{$c->url}">{$c->name|escape}</a>
	</li>
	{/if}
	{/foreach}
</ul>
{/if}
Link to post
Share on other sites

Дайте код, который у вас есть сейчас (который выводит все категории Бренда)

А условие будет примерно такое:

{if in_array($c->id,$category->children)}
...
{/if}

В цикле вывода категорий бренда - выводим только те категории, которые есть в $category->children

Link to post
Share on other sites

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

 

Вывод категорий бренда:

{if $brand}
    {foreach $brand_cat as $bc}
        <a href="catalog/{$bc->url}/{$brand->url}">{$bc->name}</a>
    {/foreach}
{/if}

Link to post
Share on other sites

 

 

Я не очень понятно задачу изложил. Имелся ввиду вывод категорий бренда из доработки: http://forum.simplacms.ru/topic/7909-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8-%D0%B2-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8-%D0%B8%D0%BB%D0%B8-%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0-%D0%B7%D0%B0%D0%B4%D0%BE%D0%BC-%D0%BD%D0%B0%D0%BF%D0%B5%D1%80%D0%B5%D0%B4/

 

Дайте код, который у вас есть сейчас (который выводит все категории Бренда)

А условие будет примерно такое:

{if in_array($c->id,$category->children)}
...
{/if}

В цикле вывода категорий бренда - выводим только те категории, которые есть в $category->children

 

Спасибо, то что нужно! Вот такой вывод почти идеален:

 

{foreach $brand_cat as $bc}
    {if in_array($bc->id, $category->children)}
        <a href="catalog/{$bc->url}/{$brand->url}"> {$bc->name}</a>
    {/if}
{/foreach}
Link to post
Share on other sites

Осталось придумать, как скрыть категорию бренда, если мы туда уже зашли.

- Фотоаппараты
--- Ручные (присвоен бренд canon)
--- Автозаводные (присвоен бренд canon)

Если зайти в "Автозаводные" , все равно показывает ее в списке.

 

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