Можно ли изменить ссылку на узел, чтобы включить страницы представлений?
У меня есть сайт, где "связанные страницы" - это поле CCK ссылки на узел для узла. Авторы могут добавлять связанные страницы (1 или более) в узел с помощью функции автозаполнения ссылки на узел.
Мой вопрос заключается в следующем: возможно ли в этом случае расширить поле ссылки на узел CCK, включив в него не узлы, например, страницы просмотров?
3 answers
Вы можете использовать отдельное поле просмотра для связанных представлений и оформить его так, чтобы ссылки на узлы и поля просмотра отображались в одном списке.
Вы также можете использовать ссылку и использовать пользовательский виджет, если вы не хотите каждый раз вводить полный путь.
На нескольких сайтах я никогда (или очень редко) не использовал отображение страницы представления. Вместо этого я прикрепил представление к узлу и всегда ссылался на представление через его узел. Это было потому, что мой система рекламных баннеров была основана на nodereferences. Это не самый расширяемый подход, но он работал для этих сайтов.
Между узлом и представлением существуют некоторые существенные различия. Узел - это некоторые фрагменты данных (заголовок, CCK и т.д.), В то время как представление создается путем запроса базы данных.
Это говорит о том, что можно было бы сделать ссылку на мнения. Я не думаю, что подход состоял бы в том, чтобы попытаться расширить поле ссылки на узел. Вместо этого вам нужно будет создать свой собственный тип поля CCK. Если вы не разбираетесь в CCK, это вполне может оказаться намного большей работой, чем вы бы нравиться.
Вам также необходимо отметить, что представления более сложны, чем узлы, так как у них больше возможностей для просмотра. Представление может иметь бесконечное количество различных отображений, поэтому вам нужно будет сохранить не только имя представления, но и сам дисплей.
Решение, вероятно, окажется настолько техническим, что его смогут использовать только опытные пользователи. Хотя я против использования PHP-фильтра в узле, более простым решением было бы создать поле, в которое вы могли бы вставить фрагмент PHP, чтобы вставьте нужный вам вид. views_embed_view
Я полагаю, что это называется, это то, что вам все равно понадобилось бы в вашем форматере полей cck.
Просто добавляю другое решение, так как @wiifm хотел использовать ссылки на узлы только в качестве гиперссылок. Модуль Linkit + Ссылки + Представления Linkit предоставляет поле с довольно маленьким виджетом поиска, а также кнопкой WYSIWYG + интеграция IMCE.
Одна вещь конфигурации для проверки мой ответ повторно просматривает ссылки (на мой собственный вопрос) на конфигурацию.