Отображение похожих узлов - PullRequest
0 голосов
/ 20 января 2011

Сегодня я столкнулся с проблемой с Drupal.

Я хотел бы отобразить узел (Продукт) на странице, а под этим узлом я бы хотел отобразить 3 аналогичных узла (Продукты).Аналогично: с таким же идентификатором таксономии или с прикрепленным к нему тегом «повышен».

Я пытался преобразовать связанные узлы в представление, которое отображается как блок, только когда мы включеныстраница продукта.Я не продвинулся далеко с этим.

Моя вторая мысль заключалась в создании страницы панели с двумя представлениями, один для продукта и один для связанных продуктов.С этим я тоже далеко не справился.

Кто-нибудь знает самый простой способ сделать это?

Обновление:

Я пробовал обаответы, я не получаю никаких сопутствующих товаров, хотя.SQL-запрос, который выполняется (термин id = 1):

SELECT node.type AS node_type, node.title AS node_title, node.nid AS nid, node.created AS node_created FROM  {node} node INNER JOIN {taxonomy_index} taxonomy_index_value_0 ON node.nid = taxonomy_index_value_0.nid AND taxonomy_index_value_0.tid = :views_join_condition_0 WHERE (( (node.type IN ('product')) AND (taxonomy_index_value_0.tid AND '') AND( (taxonomy_index_value_0.tid IN ('1')) ))) ORDER BY node_created DESC LIMIT 10 OFFSET 0

Когда я выполняю запрос вручную и удаляю AND (taxonomy_index_value_0.tid AND '') из запроса, я получаю связанные продукты.

Кто-нибудь знает, что приводит к добавлению кода в запрос и как его исправить?

Обновление 2: Я удалил «Разрешить несколько терминов для аргумента» и теперь получаюсопутствующие товары.Я не знаю, что это значит для моего сайта.

Обновление 3: Кстати, я использую Drupal 7.

Ответы [ 3 ]

1 голос
/ 20 января 2011

Переопределить ваш вид узла с панелями.И создайте блок представления с «аргументом идентификатора таксономии», вам нужно выбрать параметры аргумента по умолчанию в виде PHP-кода и поместить этот код.

$node = node_load(arg(1));
if($node) {
    foreach($node->taxonomy as $term) {
        $term = $term->tid;
        return $term;
    }   
}

Я только что запустил сайт с использованием панелей + магии представлений.http://sgigulf.org/culture/synopsis-of-performers-showcased-by-sgi-gulf

0 голосов
/ 13 мая 2011

Вы можете иметь несколько терминов, когда вы переходите на

$node = node_load(arg(1));
if ($node) {
    $ret = array();
    foreach ($node->taxonomy as $term) {
        $ret[] =  $term->tid;
    }   
    return implode('+', $ret);
}
return '';

«+» в имплозе - ИЛИ. Если вы хотите И, чем использовать ',' вместо

0 голосов
/ 20 января 2011

Посмотрите на модуль RelatedContent.Ссылки на модуль и несколько учебных пособий ниже:

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

...