2010-07-27 2 views
0

У меня возникли проблемы с созданием представления для узла на моем веб-сайте.Создание представления для узла

Содержимое содержит путь 'content /%', где% - название узла. Что я пытался сделать, так это создать представление страницы в модуле Views2, но безрезультатно. Когда я пытаюсь выполнить предварительный просмотр с именем одного из моих узлов, ничего не появляется, и когда я нахожусь в узле вживую, он выводит текст на экран без форматирования.

Вот некоторые из настроек моего вида ... пожалуйста, дайте мне знать, если я должен предоставить дополнительную информацию!

Настройки страницы

Путь: содержание /%

Аргументы

Node: Название

  • Название:% 1
  • Действие, предпринимаемое, если аргумент нет: укажите значение по умолчанию rgument
  • По умолчанию тип аргумента: идентификатор узла из URL

Редактировать

Я буду описывать поведение я ожидал увидеть ...

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

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

+0

Аргументы не влияют на презентацию, только если узел отображается в представлении (и аргументы вашего представления противоречат друг другу), поэтому я не уверен, каков ваш вопрос. Это то, что аргументы не создают нужный вам узел? Или, что отображение узла в представлении неверно? – 2010-07-27 22:01:19

+0

Возможно, мое понимание того, как работает модуль views. Я обновляю свой пост тем, что ожидаю увидеть, и надеюсь, вы можете исправить меня :) – espais

ответ

2

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

Если вам нужен только выходной узел по умолчанию, вам не нужно ничего делать. Не пытайтесь использовать View для переопределения рендеринга узлов по умолчанию; Drupal будет распечатывать его по умолчанию.

Если вы хотите, чтобы тема вашего узла была уникальной (помимо того, что перемещение полей и изменение параметров отображения в пользовательском интерфейсе позволяет вам делать), вы должны посмотреть на пользовательские файлы шаблонов и тематику. Ресурс здесь: http://drupal.org/theme-guide

Вы можете изменить по умолчанию файл node.tpl.php если вы хотите, чтобы изменить то, как отображаются все узлы, или вы можете скопировать этот файл и переименовать его в node-name_of_custom_type.tpl.php однозначно тема типа контента вы создали, но Прежде чем вносить эти изменения, я предлагаю начать чтение в системе Drupal.

Конец редактирования


Если вы хотите, чтобы назначить путь к дисплею Просмотров страницы, вы не должны моделировать его после любых существующих путей (например, узел путей, так как вы упоминаете). Это должно быть нечто уникальное, чтобы избежать конфликтов псевдонимов пути. Так, например:

my-path/%

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

Вот несколько вариантов:

  • Quick «п» Грязная: Создать блок-дисплей (который не нуждается в пути) и приклеить блок в области на странице узла (Я использовал content_bottom область), чтобы «встроить» его в узел
  • Мощный, гибкий: используйте views_embed_view функцию (api docs here) внутри узла (тела или поля CCK, просто убедитесь, что использовать " PHP-фильтр ")

Если вы используете views_embed_view, у вас есть гибкость в том, чтобы выставлять свои результаты в любом месте, где бы вы ни захотели, и вам даже не нужно создавать страницу «Представления» или «Блок», потому что эта функция может просто использовать дисплей «По умолчанию».


Примечание: Если вы экспортируете свой вид и сохранить код экспорта на сайте как pastebin или drupalbin, люди здесь могут импортировать View и увидеть его непосредственно, чтобы помочь ответить на ваш вопрос в полной детализации.

+0

спасибо, я думаю, что с вашим быстрым 'n' грязным предложением будет проще всего запустить его и запустить ... в будущее я могу посмотреть на embed_view, если мне нужно сделать больше, но пока это нормально :) – espais

1

Хорошо, понял. :)

Использование узла: заголовок в качестве аргумента довольно сложный: с настройками по умолчанию аргумент должен точно соответствовать заголовку. Итак, если вы хотите совместить «Test value», ваш путь должен выглядеть как content/Test% 20value (обратите внимание на кепки).

Это даст вам узел, который вы хотите. Вы сказали, что у вас есть аргумент по умолчанию для ID узла из URL; это действительно не относится к аргументам Node: Title. То, что он делает, это попытка найти числовой идентификатор узла и использовать его в качестве аргумента, который никогда не будет проверяться на узле: заголовок, если заголовок узла не будет соответствовать идентификатору узла.

Если вы хотите отобразить все узлы, если нет аргумента заголовка, выберите Отобразите все значения как действие для принятия, если аргумент отсутствует. Если вы хотите отобразить все узлы, если аргумент заголовка недействителен (например, опечатка или что-то еще), убедитесь, что Отображение всех значений установлено в группе полей Validator для действия, которое необходимо предпринять, если аргумент не проверяется.

Из-за точного ограничения соответствия названиям узлов, как правило, не рекомендуется использовать Node: Title в качестве аргумента. Вместо этого рассмотрите использование «content/NID», где NID - это идентификатор узла узла строки, в качестве ссылки в исходном представлении. Затем вместо аргумента Node: Title в вашем представлении используйте аргумент Node: ID.Это должно сделать его менее подверженным ошибкам.

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