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

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

в ProductView.php есть код отвечающий за вызов свойств товара

 

$product->features = $this->features->get_product_options(array('product_id'=>$product->id));

у некоторых товаров есть  feature_id == 153 но не у всех

 

 

Как правильно поставить  составить запрос- Если это свойство есть то выводить его значение если нет то не выводить

 

Второй час сижу голова кипит (

 

Знаю как вывести это через шаблон а как в ProductView.php ?

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

что то я логики не пойму. 

 

 

 Если это свойство есть то выводить его значение если нет то не выводить

 

оно и в стандарте так работает. Если свойства нет - то не выведется.

Его не будет в массиве $product->features. Если есть - соответственно выводится значение

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

что то я логики не пойму. 

 

 

оно и в стандарте так работает. Если свойства нет - то не выведется.

Его не будет в массиве $product->features. Если есть - соответственно выводится значение

 

:) ну я так понял что он его из массива исключить хочет. Только не пойму зачем.

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

что то я логики не пойму. 

 

 

оно и в стандарте так работает. Если свойства нет - то не выведется.

Его не будет в массиве $product->features. Если есть - соответственно выводится значение

 

 

хорошо как правильно будет в ProductView 

 

если есть свойство 153 то выводить определенный код на страницу товара

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

хорошо как правильно будет в ProductView 

 

если есть свойство 153 то выводить определенный код на страницу товара

 

Так это же проверкой в шаблоне делается. Почему именно в productview нужно? 

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

Так это же проверкой в шаблоне делается. Почему именно в productview нужно? 

 

Потому что нужное значение из свойства надо дальше подставлять в нестандартный php-код  .  и хочется по красоте чтоб было. Но в 4 утра голова уже не варит

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

Если нет доработок в плане мультисвойств - то можно так: 

 

$product->features = array();
foreach($this->features->get_product_options(array('product_id'=>$product->id)) as $o)
	$product->features[$o->feature_id] = $o;
	
	
if(isset($product->features[153]))
	echo 'есть';

 

 

если же есть мультисвойства - то завести отдельный массив в который писать feature_id. Затем в нем проверять

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

 

$product->features = array();
foreach($this->features->get_product_options(array('product_id'=>$product->id)) as $o)
	$product->features[$o->feature_id] = $o;
	
	
if(isset($product->features[153]))
	echo 'есть';

 

 

А как у 153 вывести значение?

 

if(isset($product->features[153]))
    $rate=$o->value;
    $this->design->assign('rate', $rate);

?

 

 

Изменено пользователем shooroop
Ссылка на сообщение
Поделиться на другие сайты
{if $product->features}
  {foreach $product->features as $f}
    {if $f->feature_id==9 && !empty($f->value)}
      <div class="Ваш класс">
        <b>{$f->value}</b>
      </div>
    {/if}
  {/foreach}
{/if}

feature_id==Ваш id

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

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

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

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

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

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

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

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

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

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