Jump to content

Recommended Posts

Здравствуйте, подскажите как реализовать вывод свойства товаров, указав в шаблоне id категории.
сейчас в шаблоне выводится так:

{if $features}
            {foreach $features as $f}
            <ul class="option">
            <li class="title">{$f->name}</li>
                {foreach $f->options as $o}
                    <li {if $smarty.get.$f@key == $o->value}class="active"{/if}><a href="{url params=[$f->id=>$o->value, page=>null]}">{$o->value|escape}</a></li>
                {/foreach}
            </ul>
            {/foreach}
        {/if}
 
но данный код выводит свойства и параметры текущей категории, как бы сделать так, чтобы выводилось тоже самое, только той категории, которой я хочу(например ее id=13), не зависимо от текущей категории
Заранее спасибо
Link to post
Share on other sites

 

Здравствуйте, подскажите как реализовать вывод свойства товаров, указав в шаблоне id категории.

сейчас в шаблоне выводится так:

{if $features}
            {foreach $features as $f}
            <ul class="option">
            <li class="title">{$f->name}</li>
                {foreach $f->options as $o}
                    <li {if $smarty.get.$f@key == $o->value}class="active"{/if}><a href="{url params=[$f->id=>$o->value, page=>null]}">{$o->value|escape}</a></li>
                {/foreach}
            </ul>
            {/foreach}
        {/if}
 
но данный код выводит свойства и параметры текущей категории, как бы сделать так, чтобы выводилось тоже самое, только той категории, которой я хочу(например ее id=13), не зависимо от текущей категории

Заранее спасибо

 

Заключите ваш код в это условие:

 

{if $category->id == 6}
{if $features}
            {foreach $features as $f}
            <ul class="option">
            <li class="title">{$f->name}</li>
                {foreach $f->options as $o}
                    <li {if $smarty.get.$f@key == $o->value}class="active"{/if}><a href="{url params=[$f->id=>$o->value, page=>null]}">{$o->value|escape}</a></li>
                {/foreach}
            </ul>
            {/foreach}
        {/if}
{/if}

 

Изменяя значение id == ** вы получите вывод свойств только определенной категории.

 

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

{if $category->id == 6 || $category->id == 7 || $category->id == 8} 
тут вставляем код который будет отображаться только в категориях с id 6,7,8 
{/if}
Link to post
Share on other sites

 

Заключите ваш код в это условие:

 

{if $category->id == 6}
{if $features}
            {foreach $features as $f}
            <ul class="option">
            <li class="title">{$f->name}</li>
                {foreach $f->options as $o}
                    <li {if $smarty.get.$f@key == $o->value}class="active"{/if}><a href="{url params=[$f->id=>$o->value, page=>null]}">{$o->value|escape}</a></li>
                {/foreach}
            </ul>
            {/foreach}
        {/if}
{/if}

 

Изменяя значение id == ** вы получите вывод свойств только определенной категории.

 

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

{if $category->id == 6 || $category->id == 7 || $category->id == 8} 
тут вставляем код который будет отображаться только в категориях с id 6,7,8 
{/if}

Вы меня не совсем правильно поняли) я значит криво объяснил, условие нам позволяет выводить в определенных категориях( на которых сейчас находится пользователь. А мне надо примерно так:

я нахожусь в категории с id=13, и в ней же мне надо вывести свойства категории с id=6, id=7.

Link to post
Share on other sites

Вы меня не совсем правильно поняли) я значит криво объяснил, условие нам позволяет выводить в определенных категориях( на которых сейчас находится пользователь. А мне надо примерно так:

я нахожусь в категории с id=13, и в ней же мне надо вывести свойства категории с id=6, id=7.

Не совсем улавливаю логику. Если мы будем находится в категории с id13 и выведем там свойства товаров категорий с id6 и id7, как в этом случае должны фильтроваться товары? 

Link to post
Share on other sites

Не совсем улавливаю логику. Если мы будем находится в категории с id13 и выведем там свойства товаров категорий с id6 и id7, как в этом случае должны фильтроваться товары? 

да я просто делаю выпадающее меню :) с пунктами фильтра(свойства) и поэтому на определенный пункт меню мне надо вывести свойства этого пункта(категории), а страницы(категории) всегда разные :))

Link to post
Share on other sites

Сделайте по аналогии: http://forum.simplacms.ru/topic/8691-вывод-1-категории/#entry64926

 

Вот сама функция:


	function get_features_plugin($params, &$smarty){

                $features = array();

		if(!empty($params['category'])){
			$category = $this->categories->get_category($params['category']);
			if(!$category) return $features;
			$params['category_id'] = $category->id;
		}
	
		$features = $this->features->get_features($params);		

		if(!empty($params['var']))
			$smarty->assign($params['var'], $features);
	}
Если вам по ид, то используйте category_id. То переменную category я использовал для получения ее ида по урл
Link to post
Share on other sites

 

Сделайте по аналогии: http://forum.simplacms.ru/topic/8691-вывод-1-категории/#entry64926

 

Вот сама функция:


	function get_features_plugin($params, &$smarty){

                $features = array();

		if(!empty($params['category'])){
			$category = $this->categories->get_category($params['category']);
			if(!$category) return $features;
			$params['category_id'] = $category->id;
		}
	
		$features = $this->features->get_features($params);		

		if(!empty($params['var']))
			$smarty->assign($params['var'], $features);
	}
Если вам по ид, то используйте category_id. То переменную category я использовал для получения ее ида по урл

Спасибо, работает!

только я не совсем  понял как вывести теперь опции свойств)) 

я так понял нужно копать в сторону get_options

Link to post
Share on other sites
	function get_features_plugin($params, &$smarty){

                $features = array();

		if(!empty($params['category'])){
			$category = $this->categories->get_category($params['category']);
			if(!$category) return $features;
			$params['category_id'] = $category->id;
		}
	
		$features = $this->features->get_features($params);		
		foreach($features as &$f)
			$f->options = $this->features->get_options(array('feature_id'=>$f->id, 'visible'=>1));

		if(!empty($params['var']))
			$smarty->assign($params['var'], $features);
	}

 

 

Link to post
Share on other sites

 

	function get_features_plugin($params, &$smarty){

                $features = array();

		if(!empty($params['category'])){
			$category = $this->categories->get_category($params['category']);
			if(!$category) return $features;
			$params['category_id'] = $category->id;
		}
	
		$features = $this->features->get_features($params);		
		foreach($features as &$f)
			$f->options = $this->features->get_options(array('feature_id'=>$f->id, 'visible'=>1));

		if(!empty($params['var']))
			$smarty->assign($params['var'], $features);
	}

Спасибо большое, все работает как надо )))

Link to post
Share on other sites

а еще такой вопросик
возможно ли учитывать в выводе фильтр?)

просто есть одно свойство на несколько категорий, опции у этих свойств для каждой категории разные), а код выводит просто все опции которые есть)

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