[РЕШЕНО] Двойное или тройное значение поля в CCK

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

Аватар пользователя Erly Erly 27 ноября 2010 в 16:26

Добрый день, товарищи!

Есть пара вопросов. По ним не гуглил, т.к. не знаю как правильно сформулировать. Если подскажите в какую сторону капать - буду вам благодарен.

Первый вопрос. В CCK к ноде можно навешивать дополнительные поля. Вопрос в том, как сделать несколько значений одного поля. Т.е., к примеру, у нас есть тип ноды "сотрудник" и мы хотим вести учёт поощрений и взысканий сотрудников. Т.е. у ноды добавляем два поля: "поощрения" и "взыскания".
В "поощрения" надо добавить три значения:
дата, вид поощрения (возможные значения: денеж. премия, грамота, подарок и т.д.), заслуги (возможные значения: перевыполнил план, на кого надо стуканул, с кем надо переспала Wink ).
Так же и в "взыскания" надо добавить три значения:
дата, вид взыскания (возможные значения: штраф, дыня в ж... ;), причина (возможные значения: сказал правду-матку и т.д.)

Вот как это сделать? Конечно, можно к ноде добавить одно поле "поощрение" типа "текст" и туда всё одной строчкой забивать:
27.10.09 - получил грамоту - за увеличение производительности.
Но хочется это сделать раздельно, что бы потом можно было на вьюсах, сделать настраиваемый фильтр в котором делать выборки. Например, какие сотрудники в период с 01.01.01 по 01.01.10 получили поощрение вида "денеж. премия" за заслуги "с кем надо переспала" Smile Smile

Вопрос воторой. Если есть разумные решения такой задачи, то какие требования к производительности?
Какой нужен будет сервак, если у нас будет около 3000 нод "сотрудник" и у каждого будет по 25 "взысканий" и 30 "поощрений"? К сайту будут обращаться 20-30 зареганых юзеров в сутки.

Комментарии

Аватар пользователя digital_sword digital_sword 27 ноября 2010 в 20:12

Тоже возникал такой вопрос. Юзал flexifield, толи я в нем не разобрался, толи он сильно недопиленный, толи с ограниченным функционалом...
В общем использую 3 сск поля, а там их можно выводить рядом темизацией, и выводить в одном поле views соответственно тоже.

Аватар пользователя digital_sword digital_sword 27 ноября 2010 в 21:26

Поставил сейчас себе flexifield (пробовал его давно, думал, может что-то изменилось).

Добавил flexifield поле, так страница создания материала с ним загружалась минуту. И так несколько раз. Ни разу не дождался, там по-моему потом ошибка какая-то должна выскакивать.

Кто-то реально использует flexifield?

Аватар пользователя sv2109 sv2109 27 ноября 2010 в 21:59

digital_sword wrote:

Кто-то реально использует flexifield?

Использую на одном сайте для телефонов организаций (отдел + телефон) Никаких проблем (глюков, тормозов итп) пока не наблюдал..

Аватар пользователя sv2109 sv2109 27 ноября 2010 в 23:28

digital_sword wrote:
Можете написать как настраивали?

Да.. ничего особенного не делал.
1.Создал тип материала "Телефон организации" c 2-мя текстовыми сск полями "Отдел" и "Телефон".
2.Создал тип материала "Организация" в который добавил сск поле "Телефон" с типом "Flexy-field", в CONTENT TYPES THAT CAN BE USED AS FIELD ITEMS выбрал "Телефон организации". Все..

Аватар пользователя Erly Erly 27 ноября 2010 в 23:52

"digital_sword" wrote:
Добавил flexifield поле, так страница создания материала с ним загружалась минуту. И так несколько раз. Ни разу не дождался, там по-моему потом ошибка какая-то должна выскакивать.

На дервере долго грузится потом вишет: Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 256 bytes) in Z:\home\папка_сайта\www\includes\form.inc on line 1332 .

На хостинге просто долго грузится. Как показывают наблюдения, если указать конечное число значений, то грузится, но если указать "не ограниченное", то страницы добавления и настроек виснут.

Аватар пользователя sv2109 sv2109 28 ноября 2010 в 0:04

Erly wrote:
Как показывают наблюдения, если указать конечное число значений, то грузится, но если указать "не ограниченное", то страницы добавления и настроек виснут.

У меня с "неограничено" работает.. все ок.

Аватар пользователя Erly Erly 28 ноября 2010 в 2:33

Погуглил немного. В общем то, что мне нужно назывется составное поле или мультиполе Smile

К Drupal 6 я нашёл такие пути решения:

1. cck2 + самописный модуль. Про этот путь красочно написано здесь:
http://shvetsgroup.com/ru/blog/custom-cck-2-field
http://shvetsgroup.com/ru/node/28
но писать свой модуль, как всегда, нет времени, да и не очень охота.

2. cck2 + патч: http://drupal.org/node/300084#comment-2825930
Здесь пишут, что вроде работает.

3. Combo Field - что такое не знаю, не разбирался
Если кто с ним работал - откликнитесь. Как модулёк?

4. Content Multigroup - удалён. И, видимо, не будет восстановлен.

5. cck3 http://habrahabr.ru/blogs/drupal/83319/ . Смущает, правда, то что версия модуля девильная, а когда будет хотя бы альфа не ясно.

6. css-изощрения, в результате которых разные поля выстраиваются в строчку.
Мне это совсем не подходит.

7. flexifield. Наверно это только мы с digital_sword такие невезучие... но у меня он тоже постоянно вис. Модуль мне не понравился.

В общем буду тестировать cck3.

"digital_sword" wrote:
в 7ке есть

А могли бы по подробнее рассказать на каких это модулях делается в Drupal 7. Имеет в виду Fieds-collcet?

Аватар пользователя Erly Erly 28 ноября 2010 в 23:31

"digital_sword" wrote:
Пропатчил. Разницы не ощутил. Вы пробовали?

Нет, не пробовал. Попробовал cck3 - оч. понравилось. Сейчас собираюсь попробовать Drupal7 с field_collection.

Аватар пользователя AI AI 30 ноября 2010 в 12:14

Новый тип материала "кнут и пряник"
Дата создания ноды может руками правиться, а можно CCK Date полем сделать
CCK поле с именем сотрудника (user-id, например, если чел в системе зарегистрирован)
CCK поле выпадающим списком "казнить - помиловать".
Flexifield как вариант, но в Вашем случае, думаю, достаточно будет текстового поля "что натворил"
А потом вьюсом все это дело сортировать и пересортировывать как душе угодно. Хоть вкладку в профиль пользователю воткнуть "Мои провинности и достижения".

Аватар пользователя Erly Erly 3 декабря 2010 в 12:34

"Erly" wrote:
Сейчас собираюсь попробовать Drupal7 с field_collection.

Либо надо ждать, либо надо юзать D6+CCK3.
Поставил D7 + Field collection. Всё добовляется, всё хорошо. Когда хочешь просмотреть ноду вываливается ошибка, описанная здесь: http://drupal.org/node/965322 .
Что делать не знаю. Ошибка гинерится в файле sites\all\modules\field_collection\field_collection.module потому что модуль из переменной $this->fieldInfo ожидет получить информацию, а эта перемнная вообще не установлена.... И куда копать не ясно Cray 2