dfaker: Блог

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

Организация повторяющихся полей (например серия/цикл для книг), используется CCK

21 марта 2009 в 12:32

Допустим есть авторы книг. У книг есть поле "серия". Самый простой (и избыточный) вариант сделать его текстовым и не париться в дальнейшем. Если использовать такой вариант, то хотелось бы при создании новой книги давать возможность выбрать значение из списка уже существующих серий автора + возможность добавить новую. Проблема в том что при создании новой книги автор еще не известен и выбор можно делать из списка всех серий, тогда было бы удобно сделать словарь таксономии для серия и выбирать из него, но серии в принципе могут иметь одинаковое название а хотелось бы жесткой принадлежности серии к определенным автору(ам).

Можно попробовать перехватывать сохранение книги и добавлять выбранный термин серии также к выбранным авторам (поле типа node reference с множественным выбором), а на форме создания книги в списке существующих терминов помимо названия серии указывать также автора (может быть в скобках) чтоб было видно кому принадлежит серия (такой подход может быть тормазнутым)

Проблему кое как описал, подскажите разные направления решения

CCK вертикльное положение строки полей Taxonomy в настройках полей

17 июля 2008 в 22:07

drupal-6.3.tar
cck-6.x-2.0-rc4
В настройках полей CCK (Manage fields) строки полей можно тягать вверх/вниз, но перемещая строку Taxonomy она не становится на свое место. По дефолту была снизу, я перетянул 1 раз выше и все - стала намертво с самого верху(при заполнении ноды), хотя в Manage fields она отобржается предпоследней

Шаблон имени файла при аплоаде через CCK FileField

14 июля 2008 в 10:44

Думаю можно сделать как-то так в hook_init():
$fname = $_FILES['files']['name'][$field];
$pos = strpos($fname, '.');
if ($pos != false) {
$fname = 'cover_'.$_POST['vid'].substr($fname, $pos); // имя будет = cover_$node->vid.*
$_FILES['files']['name'][$field] = $fname;
}
Но чего-то мне кажется это не лучшим вариантом