Перейти к содержимому


Фото
- - - - -

Вывести отдельное свойство товара


Best Answer xavior , 15.07.2015 - 17:52

Пока не задашь вопрос на форуме не найдешь его сам на форуме :)

 

 
	{foreach $product->features as $f}
		{if $f->feature_id==1}
		<li><p class="name">{$f->name}:</p><p class="values">{$f->value}</p></li>
		{/if}

 

Перейти к посту


  • Чтобы отвечать, сперва войдите на форум
15 ответов в теме

#1 xavior

xavior
  • Фрилансер
  • 290 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:1.x, 2.x
  • Откуда:Bombay

Опубликовано 15.07.2015 - 17:50

Приветствую,

 

У товара есть свойства:

 

616.png

 

 

Можно ли каким-то образом вытащить только к примеру данные строки Операционная система ?

 

{foreach $product->features as $f}
<li><p class="name">{$f->name}:</p><p class="values">{$f->value}</p></li>
{/foreach}

 



#2 xavior

xavior
  • Фрилансер
  • 290 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:1.x, 2.x
  • Откуда:Bombay

Опубликовано 15.07.2015 - 17:52   Best Answer

Пока не задашь вопрос на форуме не найдешь его сам на форуме :)

 

 
	{foreach $product->features as $f}
		{if $f->feature_id==1}
		<li><p class="name">{$f->name}:</p><p class="values">{$f->value}</p></li>
		{/if}

 



#3 n1c

n1c
  • Пользователь
  • 188 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 08.01.2018 - 00:59

Пока не задашь вопрос на форуме не найдешь его сам на форуме :)

 

 
	{foreach $product->features as $f}
		{if $f->feature_id==1}
		<li><p class="name">{$f->name}:</p><p class="values">{$f->value}</p></li>
		{/if}

 

 

а как вывести отдельное свойство в связанных товарах?



#4 shooroop

shooroop
  • Фрилансер
  • 599 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Antarktida

Опубликовано 08.01.2018 - 02:14

а как вывести отдельное свойство в связанных товарах?

 

по аналогии



#5 mishanya

mishanya
  • Фрилансер
  • 2 474 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 08.01.2018 - 03:33

по аналогии

 

по аналогии с чем? для связанных товаров не выбираются свойства. нужно сначала их выбрать.



#6 shooroop

shooroop
  • Фрилансер
  • 599 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Antarktida

Опубликовано 08.01.2018 - 04:38

по аналогии с чем? для связанных товаров не выбираются свойства. нужно сначала их выбрать.

 

Realy??? take this

 

https://screenshots....mo.simplacms.ru



#7 mishanya

mishanya
  • Фрилансер
  • 2 474 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 08.01.2018 - 04:50

Realy??? take this

 

https://screenshots....mo.simplacms.ru

 

бред. в ProductView нет кода который бы выбирал х-ки связанных товаров. если смотреть на ваш скрин, то видно что выводиться один и тот же Стандарт главного товара (http://demo.simplacm...570-galaxy-mini) под всеми связанными а не их стандарт.

 

на демо у этого товара вообще нет свойств http://demo.simplacm...ung-s3650-corby

а у этого Стандарт не такой http://demo.simplacm...cts/nokia-c2-03


Изменено: mishanya, 08.01.2018 - 04:50


#8 Плохиш

Плохиш
  • Пользователь
  • 32 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Орел

Опубликовано 08.01.2018 - 10:15

по аналогии с чем? для связанных товаров не выбираются свойства. нужно сначала их выбрать.

 

Надо по аналогии выбирать и по аналогии выводить. Аналогия легко видна рядышком и в ProductView.php и в product.tpl. 



#9 n1c

n1c
  • Пользователь
  • 188 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 08.01.2018 - 10:45

ProductView пробовал вставить

$properties = $this->features->get_product_options($products_ids);
foreach($properties as $property) {
    $products[$property->product_id]->options[] = $property;
}   

ничего не происходит, либо ошибки

 

 



#10 Плохиш

Плохиш
  • Пользователь
  • 32 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Орел

Опубликовано 08.01.2018 - 10:53

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


#11 n1c

n1c
  • Пользователь
  • 188 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 08.01.2018 - 12:15

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

 

Надо по аналогии выбирать и по аналогии выводить. Аналогия легко видна рядышком и в ProductView.php и в product.tpl. 

 

а точней подсказать можете?

 

пробовал уже и по аналогии с 

		$temp_options = array();
        foreach($product->features as $option) {
           $temp_options[$option->feature_id]->feature_id = $option->feature_id;
           $temp_options[$option->feature_id]->name = $option->name;
           $temp_options[$option->feature_id]->values[] = $option->value;   
        }
        
        foreach($temp_options as $id => $option)
           $temp_options[$id]->value = implode(', ', $temp_options[$id]->values);        
		

и ничего


Изменено: n1c, 08.01.2018 - 12:15


#12 mishanya

mishanya
  • Фрилансер
  • 2 474 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 08.01.2018 - 13:36

Надо по аналогии выбирать и по аналогии выводить. Аналогия легко видна рядышком и в ProductView.php и в product.tpl. 

 

класно, можно теперь везде писать - по аналогии делайте. вон там же есть. и ничего что там еще куска кода надо



а точней подсказать можете?

 

пробовал уже и по аналогии с 

и ничего

 

ПОСЛЕ

$related_products[$p->id] = $p;

засунуть

            $related_features = $this->features->get_product_options( $related_ids );
            foreach($related_features as $rf)
            	$related_products[$rf->product_id]->features[] = $rf;

тогда будет доступен массив

$related_product->features


#13 n1c

n1c
  • Пользователь
  • 188 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 08.01.2018 - 13:41

Сделал так, вроде работает. 

 

в ProductView.php

 

перед

$this->design->assign('related_products', $related_products);

добавим

			$properties = $this->features->get_options(array('product_id'=>$related_ids));
			foreach($properties as $property)
				$related_products[$property->product_id]->options[] = $property;
				

 

в шаблон product.tpl

				{if $related_product->options}
			  	 	{foreach $related_product->options as $o}
					{if $o->feature_id==1 && !empty($o->value)}
					   {$o->value}
					{/if}
					{/foreach}
				{/if}

Изменено: n1c, 08.01.2018 - 13:42


#14 Плохиш

Плохиш
  • Пользователь
  • 32 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Орел

Опубликовано 08.01.2018 - 14:10

класно, можно теперь везде писать - по аналогии делайте. вон там же есть. и ничего что там еще куска кода надо

 

Везде не везде, но по аналогии решается очень много вопросов.

Сомневаюсь, что Вы писали свой кусок кода, который "надо", чисто с нуля.
Написанный Вами кусок кода - совсем элементарная (даже упрощенная) аналогия того, что есть в том же файле, например, при работе с  изображениями для рекомендуемых.
И многое, конечно, зависит от того, как эту аналогию проводить.



#15 n1c

n1c
  • Пользователь
  • 188 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 08.01.2018 - 14:13

кстати, код от mishanya у меня не работает, почему-то



#16 Плохиш

Плохиш
  • Пользователь
  • 32 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Орел

Опубликовано 08.01.2018 - 14:52

Потому что  этот код написан совсем неверно. В нем вызывается совсем неподходящая для задачи функция get_options(), тогда как надо  использовать get_product_options()






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых