Создан вид "Страница" с выводом нод конкретного типа.
Сортировка по "Заголовку" даёт не приемлемый результат, требуется добавить тип сортировки по тегу из некого словаря.
Существует ли модуль для решения данной задачи?
Спасибо
Спасибо, но как ни крутил, но не смог указать в "Taxonomy: term" конкретный словарь для анализа
cka3o4h1k,я его победил!! Если я правильно понял вашу проблему, то у меня такая же и я её только что победил )
По существу:
Беру Views,
делаю раз: Add - Node - Add display - page - page settings - прописываю адрес, чтоб всё заработало. В Fields накидайте на Ваш вкус.
делаю два: filters - + - groups - taxonomy - выбираю taxonomy: term - то, ради чего всё затевалось.
А дальше настройка: - Vocabulary: выбираете нужный словарь, который вы уже создали в таксономии, Selection type: на ваш вкус (я поставил Dropdown), жму Expose, получаю доступ юзеров к выбору терминов словаря. Operator: - я поставил is all off.
А как вы хотите сортировать по словарю? Логику сами понимаете? Может вам нужно все же отфильтровать ноды по словарю? Тогда зайдите в фильтры - там и увидите такой параметр. Выберите при его настройке те словари, ноды которых вы хотите вывести или отсеять. А сортировать можно по алфавиту, количеству камментов, времени создания и т. п.
Я делал сортировку по родительскому термину, в вашем случае попробуйте вот что:
1. Включаем модуль CCK Computed Field;
2. Добавляем материалу поле типа Computed;
3. В нем (навскидку):
<?php
if (!$node->nid) node_save($node); $vid = 1; // номер словаря if (!empty($node->taxonomy[$vid])) { $term = taxonomy_get_term($node->taxonomy[$vid]); $node_field[0]['value'] = $term->name; } else $node_field[0]['value'] = 0;?>
4. Галочка "Store using the database settings below", тип varchar, галочку Sortable;
5. В настройках видимости полей делаете поле *Hidden*;
6. В вашем View добавляете сортировку по созданному полю.
PS> На работающем сайте такого делать не надо. Новое поле появится только при обновлении существующих нод или при добавлении новых.
Комментарии
Другими словами, возможно ли задать в качестве критерия сортировки конкретный словарь?
Подобного модуля не нашёл.
Есть стандартный вид taxonomy_term
Теги я так понимаю реализованы таксономией? Если есть словарь с тегами, то вид taxonomy_term - как раз то, что вам нужно.
Можно использовать аргументы типа taxonomy/term/12,13 для вывода нод с тегами 12 или 13 или taxonomy/term/12+13 для вывода нод с тегами 12 И 13
Тьфу, не прально понял.
Там есть сортировка Taxonomy: term в соответствие с именем термина и его весом.
Спасибо, но как ни крутил, но не смог указать в "Taxonomy: term" конкретный словарь для анализа
cka3o4h1k,я его победил!! Если я правильно понял вашу проблему, то у меня такая же и я её только что победил )
По существу:
Беру Views,
делаю раз: Add - Node - Add display - page - page settings - прописываю адрес, чтоб всё заработало. В Fields накидайте на Ваш вкус.
делаю два: filters - + - groups - taxonomy - выбираю taxonomy: term - то, ради чего всё затевалось.
А дальше настройка: - Vocabulary: выбираете нужный словарь, который вы уже создали в таксономии, Selection type: на ваш вкус (я поставил Dropdown), жму Expose, получаю доступ юзеров к выбору терминов словаря. Operator: - я поставил is all off.
Так. Вроде всё правильно сказал? )
Может установить меньший вес для нужного словаря?
Да нет, что-то не так... Нету возможности выбора словаря по которому будет сортировка...
А как вы хотите сортировать по словарю? Логику сами понимаете? Может вам нужно все же отфильтровать ноды по словарю? Тогда зайдите в фильтры - там и увидите такой параметр. Выберите при его настройке те словари, ноды которых вы хотите вывести или отсеять. А сортировать можно по алфавиту, количеству камментов, времени создания и т. п.
Я делал сортировку по родительскому термину, в вашем случае попробуйте вот что:
1. Включаем модуль CCK Computed Field;
2. Добавляем материалу поле типа Computed;
3. В нем (навскидку):
<?php if (!$node->nid) node_save($node);
$vid = 1; // номер словаря
if (!empty($node->taxonomy[$vid])) {
$term = taxonomy_get_term($node->taxonomy[$vid]);
$node_field[0]['value'] = $term->name;
}
else $node_field[0]['value'] = 0;?>
4. Галочка "Store using the database settings below", тип varchar, галочку Sortable;
5. В настройках видимости полей делаете поле *Hidden*;
6. В вашем View добавляете сортировку по созданному полю.
PS> На работающем сайте такого делать не надо. Новое поле появится только при обновлении существующих нод или при добавлении новых.