Объединение нескольких полей в одно (CCK)

Главные вкладки

Аватар пользователя Vitalik Vitalik 16 декабря 2007 в 15:16

Здравствуйте!..

Собственно возник вопрос, возможно ли как-нить сравнительно легко и быстро объединить несколько полей в одно.
Это нужно, чтобы потом это "объединение" повторить несколько раз (хотя бы три раза)..

Если писать отдельный минимодуль, то это сильно сложно?
Или уже подобный модуль существует?
Или легче уж просто вручную подобавлять их подобовлять (правда там полей штук 10 на каждое "объединение")?
Или как-то оперировать импортом/экспортом?
Или есть какие-то еще способы?..

Посоветуйте, пожалуйста, неопытному новичку.. Blush

Комментарии

Аватар пользователя Vitalik Vitalik 19 декабря 2007 в 15:26

Но ведь computed_field позволяет просто вычислить значение опираясь на несколько других полей.

А мне тут нужно как раз таки сделать удобную возможность добавленния сразу несколькоих разных полей, типа как шаблончик.
Ну к примеру, группа полей "Качество MP3", состоящая из полей "Формат", "Битрейт", "Канал", "Частота" и т.п.
И вот эту группу полей нужно вставить в несколько мест. При чем было бы идеально, если бы изменив где-то в одном месте к примеру заголовок или тип одного из полей, они бы менялись во всех местах, где встречаются..

Поэтому computed_field вроде бы совершенно здесь не подходит.. Sad

Аватар пользователя Vitalik Vitalik 25 декабря 2007 в 11:20

>> Поля можно использовать повторно, группы нет.

Поля или типы полей?
Дело в том, что мне нужно в форме добавления элемента сделать несколько одинаковых наборов полей.
То есть набор полей (их заголовки, типы, свойства) одинаковые, но сами то поля разные и хранят соответственно разные значения (то есть ввести в них можно и нужно разные значения).

>> если дублировать нужно при выводе

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

Аватар пользователя Vitalik Vitalik 26 декабря 2007 в 1:28

Оки, пример очень простой.
Даже могу дать не пример, а реальную задачу.

Есть аудиокнига. Она выкладыватся с возможностью скачивания в разных вариантах (разное качество, разный размер, разные ссылки для скачивания).
"Аудиокнига" - это узел с полями. Сами поля - это название, аннотация, и т.д и т.п.
В том числе среди полей выступают блоки (группы) описаний разных вариантов выкладывания (качество, размер, ссылки).
Так вот этих вариантов пока что два (сделал тупым дублирование через импорт/экспорт). Две группы, у которых внутри сходные поля (которых не мало). Так вот хочется, чтобы этих групп можно было сделать больше, и делать их было бы легче..

Если сумбурно написал, то вот визуальный пример, как это выводится с помощью contemplate:

Quote:
Аудиокнига, распространенная в Internet
Размер: 562.33 Мб (589 648 114 байт)
Качество: MP3, CBR, 96 kbps, Mono, 48 kHz
Скачать: Скачать аудиокнигу с FTP, Скачать аудиокнигу в DC++
Источники: Тема и торрент на torrents.ru, Ссылка для скачивания в eMule

Пользовательский вариант
Размер: 600.31 Мб (629 468 324 байт)
Качество: MP3, CBR, 96 kbps, Mono, 48 kHz
Скачать: Скачать аудиокнигу в DC++


Было бы идеально, если бы можно было при добавлении аудиокниги задавать столько таких групп, сколько будет угодно пользователю..

Аватар пользователя andypost@drupal.org andypost@drupal.org 26 декабря 2007 в 5:55

Нужно иначе проектировать материалы
1) аудиокнига (описание и все такое)
2) файлы книги (файл и его параметры, ссылки и родитель-описание)
Поиск в форуме поможет как сделать master-detail cck

Аватар пользователя Dimm Dimm 27 декабря 2007 в 21:51

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

Аватар пользователя Vitalik Vitalik 28 декабря 2007 в 11:27

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

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

Как достичь с помощью предложенного тобой способа множественность наборов полей? Что ты имеешь ввиду под "отключать по необходимости"?..

Аватар пользователя Pikw Pikw 26 декабря 2008 в 15:30

Объясню на примере

"Vitalik" wrote:
Аудиокнига, распространенная в Internet

Название типа материала
"Vitalik" wrote:
Размер: 562.33 Мб (589 648 114 байт)

Поле
"Vitalik" wrote:
Качество: MP3, CBR, 96 kbps, Mono, 48 kHz

Поле (или группа)
"Vitalik" wrote:
Скачать: Скачать аудиокнигу с FTP, Скачать аудиокнигу в DC++

Группа: Скачать
Поля типа ссылка: Скачать аудиокнигу с FTP, Скачать аудиокнигу в DC++
"Vitalik" wrote:
Источники: Тема и торрент на torrents.ru, Ссылка для скачивания в eMule

Группа: Источники
Поля типа ссылка(или другой): Тема и торрент на torrents.ru, Ссылка для скачивания в eMule

Так?

Аватар пользователя Pikw Pikw 26 декабря 2008 в 15:48

А, я понял... попробуйте так: Качество - будет полем CCK Taxonomy (то, о чем говорил Dimm), а MP3, CBR, 96 kbps, Mono, 48 kHz (описание качества) пишите через запятую и в словарь "Качество"

И будет у Вас и сортировка и фильтр и все все все!!!