2010-02-17 3 views
0

После нескольких недель работы с Drupal у меня возникла повторяющаяся проблема, на которой у меня нет оптимального решения, поэтому я надеюсь, что кто-то здесь сможет дать рекомендации по лучшей практике ,Drupal: Содержимое в блоках от полей node_reference?

То, что я это region внутри моей node.tpl.php, который заполняется с блоками, которые отображают содержимое из двух различных CCK полей типа node_reference. Это отлично работает при отображении одного узла. Проблема возникает, когда мне нужно использовать view.

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

У меня есть несколько идей, но никто не кажется логичным выбором, как бы вы это сделали?

ответ

1

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

Проблему
На нормальных «страниц» (при отображении только один узел), у меня есть боковая панель, которая показывает, что-то похожее на баннеры, которые являются либо случайными, или я могу выбрать один или несколько, которые всегда должны отображаться на боковой панели. Это легко решается при отображении одного узла, используя поле CC_ node_reference. Проблема заключается в том, когда с помощью View, который отображает несколько узлов, например новости listing-

Решение
В моем случае я мог бы решить эту проблему путем создания дополнительных полей на моей странице по умолчанию типа содержимого. Эти поля были названы view, display и arguments. В моем tpl.php я затем встроил просмотр списка новостей внутри страницы, позвонил на эту новость. Таким образом, я получил большую гибкость, а также помогает странице новостей знать, где она находится в структуре меню.

Заключительные комментарии
Я до сих пор обнаружить, если есть какие-либо недостатки или опасности Поступая таким образом, но если есть, не стесняйтесь поделиться ими со мной :)

1

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

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

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

Если вы хотите дальнейшего объяснения, пожалуйста, комментарий и я могу уточнить

0

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

Смежные вопросы