свободный выбор тегов + мультиселект при поиске

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

Аватар пользователя Cyb_ Cyb_ 16 апреля 2008 в 14:18

ответил сам себе на вопрос заданный где то ниже в блоге: как сделать так, чтобы при вводе новой информации была строчка свободного ввода терминов, а при поиске из вьюхи был мультиселект?

1. из вьюхи удалить фильтры
2. добавить аргументы типа Taxonomy ID в зависимости от количества отборов (в моем случае 2)
3. либо статичной страницей, либо в заголовке вьюхи прописать форму (сделано на базе какого то сниппета):

<?php
echo '';

//первый мультиселект
$vid = 1; // Номер словаря
$items = array();
$depth =-1; //глубина
$terms = taxonomy_get_tree($vid, 0, $depth, 1);

echo '';
foreach ( $terms as $term ) {
$count = taxonomy_term_count_nodes($term->tid);
echo 'tid.'">'.$term->name.'('.$count.')';
} /* end foreach */
echo'';

//второй мультиселект
$vid = 2; // Номер словаря
$items = array();
$depth =-1; //глубина
$terms = taxonomy_get_tree($vid, 0, $depth, 1);

echo '';
foreach ( $terms as $term ) {
$count = taxonomy_term_count_nodes($term->tid);
echo 'tid.'">'.$term->name.'('.$count.')';
} /* end foreach */
echo'';

echo'

';
?>

ну и соответственно сам текст view.php:

<?php
//может и изврат, но мне так больше нравится Smile
//все что выбрано одновременно в одном мультиселекте собирается через "+" (или)
//все что выбрано в разных мультиселектах запихивается в разные аргументы через "/"
$s = (isset($_POST['gor'])
? (isset($_POST['dojo'])
? implode($_POST['gor'],'+').'/'.implode($_POST['dojo'],'+')
: implode($_POST['gor'],'+'))
: (isset($_POST['dojo'])
? implode($_POST['dojo'],'+')
: ""));
header('Location: ?q=view/'.$s);
exit();
?>

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

Комментарии