Event - нужен совет по организации материала

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

Аватар пользователя Valeratal Valeratal 6 апреля 2007 в 14:51

Добрый день, возник такой вопрос

Поставил модуль event (мероприятия)
Создал словарь специально для этого типа материалов, в которые занес рубрики (теги) предпологаемых мероприятий
Встал вопрос о том, что нужно еще одно поле, кроме названия, тела и рубрики.
А именно - город, так чтобы пользователь мог вывести допустим Город Москва, рубрика такая-то

У меня стоит CCK и Vievs

В настройках этого вида материала есть закладка добавить поле
Там полей довольно много, разделенных по группам

Node Reference

Select List
Autocomplete Text Field
Integer
Text Field
Select list
Check boxes/radio buttons
Single on/off checkbox
Decimal
Text Field
Select list
Check boxes/radio buttons
Single on/off checkbox
Text
Select list
Check boxes/radio buttons
Single on/off checkbox
Text Field
User Reference
Select List
Autocomplete Text Field

Я понимаю, что либо Select list либо Text Field (в зависимости от того, будут ли пользователи вносить руками или выбирать из списка., но вот из какой группы.

Ну и соответственно, так, чтобы можно было делать вывод мероприятия с учетом двух критериев - Города (из этого поля) и Рубрики (из словаря)

Комментарии

Аватар пользователя Ромка Ромка 6 апреля 2007 в 16:35

Так в чем проблема? В Views создай новое вью, в аргументах задай два аргумента типа Taxonomy: Term ID, и тогда в этой вьюшке будут выводиться ноды, которым присвоены два выбранных термина.

Аватар пользователя Ромка Ромка 6 апреля 2007 в 23:51

Пошагово:
1. Создаешь новое View.
2. Ставишь галку "Provide Page View".
3. В поле Link пишешь, например, catalog.
3а. Я всегда темизирую вьюшки, по этому пункт Fields не заполняю, но тебе, если ты хочешь обойтись без темизации, в этом разделе надо будет указать выводимые вьюшкой поля.
4. В аргументах создаешь аргументы типа "Taxonomy: Term ID", столько сколько критериев сортировки у тебя будет (в твоем случае два).
5. Создаешь ссылку вида: ?q=catalog/111/222, где catalog – название, которое ты создал в 3 пункте, 111 и 222 – tid'ы выбранных пользователем терминов.
6. Для генерации ссылки используешь систему комбобоксов, как в том примере, что ты приводил.

Аватар пользователя kiev1 kiev1 7 апреля 2007 в 2:36

> 3а. Я всегда темизирую вьюшки, по этому пункт Fields не заполняю
подскажите как темизировать, пожалуйста, а то мне как раз надо но я немного не соображу
вот тут я все прочитал, но не пойму - если у меня допустим тема на phptemplate то в какой файл добавлять эти все функции и нельзя-ли сделать их отдельными файлами как у CCK по типам контента: node-content-ваш_тип.tpl.php?

Аватар пользователя Ромка Ромка 7 апреля 2007 в 11:40

Вот здесь много инфы по этой теме. Я делаю так: в папке с темой, в template.php создаю функцию:
<?php
function theme_views_view_MyViewName($view, $type, $nodes)
{
$content = "";
foreach ($nodes as $n)
{
$node = node_load($n->nid);
/*А дальше как с обычной нодой, выводишь в оркужении нужного html-кода переменные $node->body, $node->title и др.*/
$content .= "

" . $node->title . "

\n";
$content .= "" . $node->body. "\n";
}
return $content;
}
?>
Views, если не находит эту функцию, выводит данные стандартными методами, если находит, то выводит то, что вернет эта фия.

Аватар пользователя Valeratal Valeratal 17 апреля 2007 в 22:47

>6. Для генерации ссылки используешь систему комбобоксов, как в том примере, что ты приводил.

Я правильно понимаю, что это нужно код писать в HTML?

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