Создание блока в "с этим товаром покупают"

Раздел форума: 

Добрый вечер!

У меня следующая ситуация - создаю блок в магазине: "с этим товаром покупают", который должен выводить (рекомендовать) определенный товар соответствующий дисплею просматриваемого товара, данные связи установлены с помощью модуля Entity reference. Также установлен модуль  Views PHP, чтобы в настраиваемом блоке указать соответствующие фильтрации по выводу рекомендаций продукта.

 

В критерии фильтрации Global:PHP я прописал в поле filtee code след. код, чтобы отображать в блоке рекомендуемый товар :

 

if (arg(0) && arg(0) == 'node') {
    $related_ids = array();
    $node = node_load(arg(1));
    $related = field_get_items('node',$node,'field_pd_related_products');
    if ($related && is_array($related) && sizeof($related) > 0) {
      for ($i=0; $i<count($related); $i++ ) {
        $related_ids[] = $related[$i]['target_id'];
      }
    }
  }
  return (isset($related_ids) && in_array($row->nid, $related_ids) ? FALSE : TRUE );

 

В результате блок не отображается рядом с продакт дисплеем, где установлена связь с помощью модуля Entity reference. В чем проблема? Правильный ли код?

 

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
Прикрепить
Максимальный размер файла: 128 МБ.
Разрешённые типы файлов: txt doc docx rar zip xls xlsx pdf odf odt jpg jpeg gif png psd rtf.

Если нужно вывести просто

Если нужно вывести просто похожие товары, то лучше использовать модуль similar by terms:

https://drupal.org/project/Similarterms

Вот здесь сравнение других подобных модулей:

https://drupal.org/node/323329

 

Если все-таки нужно вывести товары, которые покупают с этим товаром, тогда нужно настроить Views. Выводить заказы, дальше добавить связь line items или товары, чтобы выбирать товары и фильтровать заказы, где есть нужный товар, который уже в корзине.