Как организовать совместный вывод полей с множествнными значениями в CCK?
Есть задача - к материалу привязать несколько ссылок по теме с пояснительным текстом. То есть ссылка должна состоять из Названия ссылки, URLа, пояснительного текста, а в идеале еще и текст для alt к ссылке. Вот для примера:
Drupal.ru
Самый подробный ресурс о Drupal. Заходи, кому Drupal интересен
Среди модулей есть готовые решения: links (тип поля для CCK) либо Related Links, но в стандартном виде они позволяют вывести только Название ссылки и URL, а хочется еще хотя бы пояснительный текст.
В качестве решения напрашивается следующее:
в CCK создать несколько полей, которые могут содержать множественные значения, например типа Link - для хранения названия ссылок и URLов, и типа text, где хранился бы пояснительный текст
Но вот вопрос: есть ли более или менее стандартное решения для того чтобы выводить не подряд 5 значений из поля link, а потом снова пять ил поля text, а поочередно:
link1
text1
link2
text2
link3
text3
В принципе - задача достаточно стандартная, должно же быть уже готовое решение!
Комментарии
Логичнее будет делать по отдельной ноде (эти ноды будут отдельного типа "ресурс") на каждый ресурс. А в материале будет поле с множественными значениями (nid) этих ресурсов.
Хотя, заполнять это будет не так уж удобно..
Так вот именно, что неудобно. Для внесения 5 ссылок нужно будет 5 новых нод создать. Будет база неправомерно увеличиваться, ведь ссылки от ноды к ноде могут и повторяться! Да и сама логика ноды, как "документа" нарушается - ссылка - не документ, а лишь его аттрибут, такой же как заголовок, тизер или текст.
Нет, логика не нарушается. "Ресурс" это тоже документ.
Опять же, избыточности не будет, так как можно указывать NID созданных ранее "ресурсов". Кстати, будет удобно использовать autocomplete фичу у полей CCK...
Точку зрения понял.
Тогда вместе с предыдущим вопросом: есть ли решение, которое позволяет внутри одной ноды множественые значения нескольких полей связать друг с другом;
возникает новый:
Предположим, создаем новый тип материалов - ссылки, где основным полем будет URL (т.к. он не меняется, например, www.drupal.ru), а вот названия и описание для этого урла могут быть разными и хранятся в соответствующих полях с множественными значениями. Такое например может быть, когда скажем в зависимости от контекста Новостного материала, к которому аттачатся ссылки названия и пояснительный текст ссылок придумываются редактором исходя из контекста новости, либо используют уже мохраненные. Так вот в таком случае как обозначить, какое по счету значение из выбранной ноды должно соответствовать выбранному URLу. Че-то сложно получилось, но думаю, что понять можно
1) Вообще говоря, я бы наверное, урл сделал названием ноды.
2) Не могу понять логики - зачем одному "ресурсу" разные название и описания? Ведь это же одна сущность (документ, нода, как ни назови). Если действительно нужны разные описания и названия, то тогда имеет смысл говорить о типе "Описание ресурса". В таком случае, у одного ресурса (здесь пишу без кавычек, это не тип ноды) может быть несколько различных "Описаний ресурса", следовательно, это разные сущности, поэтому нужно создавать несколько нод для одного урла. И это не будет избыточностью о которой ты говорил, ведь это *разные* описания урла.
Надеюсь, меня тоже можно понять
по п. 1. В предложеной логике согласен, что урл. должен быть названием ноды
по п. 2 Например есть новостная лента, где после каждой новости идут ссылки на ресурсы по тематике новости. Названия для одной и той же ссылки в разных новостях могут быть разными, скажем пишем ipod, ссылка будет на apple.com, но в описании будет что-то типа Apple - Производитель ipoda, пишем про MacOS, описание будет Apple - отец и мать MacOS, пишем про iBook, будет Apple - производитель IBook. Идея под каждое такое описание заводить свою ноду с описанием ресурса выглядит несколько нелогично, ведь ресурс-то один! Правильнее было бы сделать одну ноду, а в нее поместить несколько описаний, только вопрос как это сделать?
Конечно предложенный вариант работать будет, только редактору тогда больше кликов мышкой делать придется и потом искать по ранее введенным значениям сложнее, ведь если писать об Apple (ну или еще о ком-нибудь), скажем раз в 2 дня, то уже за год несколько сотен ссылок наберется.
по п. 2 Я настаиваю на своем варианте нескольких нод - ведь описания-то разные!
А вообще, судя по самой задаче... чем не устаивает вставка ссылок как текста? Зачем огород городить с разными полями, нодами и т.д.?
Есть в CCK такой модуль как Node Reference
Добавляете поле в тип контента, выбриаете тип - выбор из списка нодов. Там есть возможность множественного выбора.
Там есть еще такая вещь, как ссылка на view, тоже полезная вещь.
по-видимому, должно решить проблему
Для ссылок - конечно можно и текстом вводить. От редактора потребуется только большей внимательности, т.к. например, нельзя будет сделать упорядочивание по алфавиту.
Но есть случаи, где все-таки возможность связи между двумя множественными переменными кажется актуальной.