@redfox42

Как вставить результат if?

пытаюсь сделать правильный yml-файл для яндекса. У них были претензии к наличию товара. Так как программиста сейчас нет на проекте, то приходится разбираться самому.

Есть такая конструкция:
echo '<offers>';
    foreach($items_res as $item){
        echo '<offer id="'.$item['id'].'" available="<b>XXX</b>">';


Вот условие (если наличие товара больше 0, то выводить "true", если меньше или равно 0, то нужно выводить "false") нужно поставить на место XXX:
[[If?
   &subject=`[[*inventory]]`
   &operator=`>`
   &operand=`0`
   &then=`true`
   &else=`false`
]]


[[*inventory]] — это tv параметр, который нужно еще вывести.
как это сделать?
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 3
@IPv4
echo '<offers>';
    foreach($items_res as $item){
        echo '<offer id="'.$item['id'].'" available="<b>' . if($item['num'] > 0) {echo 'true';} else {echo 'false';} . '</b>">';

Не?
Ответ написан
alexhit
@alexhit
Вино неплохо, но виски быстрее.
Все просто, но нужно знать название поля в массиве, которое хранит кол-во (если оно вообще есть в вашем массиве, из данного куска кода не ясно). Если не знаете можете проверить так:
foreach($items_res as $item){
   echo '<pre>';
   print_r($item);
   echo '</pre>';
   exit();
}

Увидите структуру вашего массива, если в ней есть кол-во, то далее используем имя нужного поля для сравнения и вставки:
foreach($items_res as $item){
   if ($item['kolichestvo']>0) echo '<offer id="'.$item['id'].'" available="true">';
   else echo '<offer id="'.$item['id'].'" available="false">';
Ответ написан
gluck59
@gluck59
Виртуальный глюк
Покажите структуру $item.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы