Добрый день, возник такой вопрос
Поставил модуль 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 (в зависимости от того, будут ли пользователи вносить руками или выбирать из списка., но вот из какой группы.
Ну и соответственно, так, чтобы можно было делать вывод мероприятия с учетом двух критериев - Города (из этого поля) и Рубрики (из словаря)
Комментарии
Эээ, а может просто создать словарь "Города" и выбрать в нем тип ноды, в которой его нужно отображать?
Ок, так будет даже может и симпатичнее (в смысле можно облака демонстрировать)
А как быть с поиском?
Views можно настроить так, чтобы он выводил только данные привязанные сразу к нескольким терминам.
я хочу , чтобы пользователь мог выбирать с учетом нескольких параметров
Как тут
http://hturkey.ru/ справа - "Поиск "недвижимости"
Город
Тип
и тд
Так в чем проблема? В Views создай новое вью, в аргументах задай два аргумента типа Taxonomy: Term ID, и тогда в этой вьюшке будут выводиться ноды, которым присвоены два выбранных термина.
эмм, а как views догадается, что мне нужны ноды именно с терминами из 2-х конкретных словарей.
Пошагово:
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. Для генерации ссылки используешь систему комбобоксов, как в том примере, что ты приводил.
> 3а. Я всегда темизирую вьюшки, по этому пункт Fields не заполняю
подскажите как темизировать, пожалуйста, а то мне как раз надо но я немного не соображу
вот тут я все прочитал, но не пойму - если у меня допустим тема на phptemplate то в какой файл добавлять эти все функции и нельзя-ли сделать их отдельными файлами как у CCK по типам контента: node-content-ваш_тип.tpl.php?
Вот здесь много инфы по этой теме. Я делаю так: в папке с темой, в 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, если не находит эту функцию, выводит данные стандартными методами, если находит, то выводит то, что вернет эта фия.
Спасибо!
>6. Для генерации ссылки используешь систему комбобоксов, как в том примере, что ты приводил.
Я правильно понимаю, что это нужно код писать в HTML?
И связанный вопрос, а если выбор тегов свободный, значит ли что я должен будут каждый раз редактировать при добавлении нового термина в эти словари?