nBezborodov после установки views на странице настройки есть список страниц, которые вы можете включить и тем самым переопределить стандартные в друпал с помощью модуля views
нашел) уже провожу опытные испытания
я что то не заметил этого стандартного шаблона, а был убежден что надо капать в аргументах.
спасибо, очень даже пригодится
nBezborodov после установки views на странице настройки есть список страниц, которые вы можете включить и тем самым переопределить стандартные в друпал с помощью модуля views
а не подскажите еще кое что... пытаюсь подцепить алиасы терминов, созданные в pathauto. например, вместо taxonomy/term/% мой алиас category/brand/%.
Он никак не реагирует, это нормально или всетаки должен подхватывать, как это лечить?
taxonomy/term/% работает как надо, но мне нужно несколько views шаблонов для разных терминов.
Может просто я зря мучаюсь, может он и не умеет подхватывать синонимы.
Он никак не реагирует, это нормально или всетаки должен подхватывать, как это лечить?
Как бы попроще объяснить - все алиасы терминов все равно обрабатываются taxonomy/term/%
но Вы можете создать views типа
catalogue/%
далее использовать в адресах % - алиасы терминов
в настройках этого views например обрабатывать аргумент:
Arguments
Таксономия: Term ID (with depth)
Default argument type:
PHP argument code:
привет, столкнулась с такой же проблемой. Подскажите, пожалуйста, как правильно все таки организовать работу таксономии, вьюс и автосинонимов.
Есть словарь "Maker" и несколько терминов в нем: "gloss", "mat" и тд. Для терминов созданы авто-синонимы: maker/[cat-raw]. (maker/gloss).
taxonomy/term/% - создает шаблоны ко всем терминам, а мне надо как минимум два вида.
пример выше почему то не работает.
Подскажите пожалуйста, объясните по подробнее.
спасибо. Но ваше представление не захотело импортироваться, говорит нет таких полей. Если вас не затруднит, выгрузите вьюс без полей, просто материал, сенкс.
Алексей, извините. Но как оказалось работает все таки ни как ожидалось.
эта вьюс не заменяет мои термины по прямым адресам maker/[cat-raw](taxonomy/term/), заменяет только если адресс будет такой catalogue/maker/[cat-raw]. Тем самым не дает мне возможность использовать модули которые напрямую обращаются к термину по его алиалу maker/[cat-raw].
Так и должно быть, или это я где то напутала? Ответьте, пожалуйста, понимаю что напрягаю) но поиск по форуму не дал результатов. Спасибо
Отвечаю если Вам нужен собственный view - например catalogue/% - используйте то, что написал, если нужно использовать страницу taxonomy/term/% , но при этом использовать alias для терминов - то переопределите с помощью views - страницу taxonomy/term/% как Вам надо, Вы увидете этот view на странице admin/build/views . Если есть вопросы - пишите постараюсь ответить.
Не могли бы Вы помочь мне разрешить следующую проблему:
Ситуация.
1 словарь. к нему привязаны 3 типа содержимого. Нужно вывести 3 отдельных страницы с деревом словаря и показывать на каждой содержимое только одного типа.
Реализация:
Страница (/catalog) c кодом для вывода дерева с терминами.
Комментарии
Запросто. Ковыряйте настройки и удивитесь возможностям вьюс
taxonomy_redirect
В шаблонах Views есть переопределение страницы taxonomy/term/%
а можно об этом немного по подробнее или ссылку
nBezborodov после установки views на странице настройки есть список страниц, которые вы можете включить и тем самым переопределить стандартные в друпал с помощью модуля views
нашел) уже провожу опытные испытания
я что то не заметил этого стандартного шаблона, а был убежден что надо капать в аргументах.
спасибо, очень даже пригодится
а не подскажите еще кое что... пытаюсь подцепить алиасы терминов, созданные в pathauto. например, вместо taxonomy/term/% мой алиас category/brand/%.
Он никак не реагирует, это нормально или всетаки должен подхватывать, как это лечить?
taxonomy_redirect не хотелось бы использовать.
что-то подсказывает, что taxonomy/term/% сработает быстрее
taxonomy/term/% работает как надо, но мне нужно несколько views шаблонов для разных терминов.
Может просто я зря мучаюсь, может он и не умеет подхватывать синонимы.
Как бы попроще объяснить - все алиасы терминов все равно обрабатываются taxonomy/term/%
но Вы можете создать views типа
catalogue/%
далее использовать в адресах % - алиасы терминов
в настройках этого views например обрабатывать аргумент:
Arguments
Таксономия: Term ID (with depth)
Default argument type:
PHP argument code:
<?php
return 'all';
?>
Validator options
Validator:
PHP validate code:
<?php
if( $_REQUEST['q'] === 'views/ajax') $arg = $_REQUEST['view_path'];
else $arg = $_REQUEST['q'];
$arg = str_replace('catalogue/','',$arg);
// типа $arg = 'catalogue/category/produkty/programmy.html';
if(!empty($arg)){
if(!is_numeric($arg)){
$arg = str_replace('taxonomy/term/','',db_result(db_query("select src from {url_alias} where dst = '%s' ",$arg)));
}
$handler->argument = is_numeric($arg) ? $arg : 'all';
}
return TRUE;
?>
Еще раз это работающий пример, а не точное "лекарство" для Вашего случая ...
привет, столкнулась с такой же проблемой. Подскажите, пожалуйста, как правильно все таки организовать работу таксономии, вьюс и автосинонимов.
Есть словарь "Maker" и несколько терминов в нем: "gloss", "mat" и тд. Для терминов созданы авто-синонимы: maker/[cat-raw]. (maker/gloss).
taxonomy/term/% - создает шаблоны ко всем терминам, а мне надо как минимум два вида.
пример выше почему то не работает.
Подскажите пожалуйста, объясните по подробнее.
- pathauto формирует для таксономии алиасы ( настройка на странице admin/build/path/pathauto)
типа category/[vocab-raw]/[catpath-raw].html
- Создан views c path
Path: catalogue/% ( выгрузил экспорт настройки )
См. attach настройка как писал выше
Работает здесь http://crimsoft.ru/catalogue/category/produkty/programmy.html
Спрашивайте, импортируйте себе view, вопросы должны рассеяться
спасибо. Но ваше представление не захотело импортироваться, говорит нет таких полей. Если вас не затруднит, выгрузите вьюс без полей, просто материал, сенкс.
Без полей и фильтров
Алексей, спасибо большое, очень помогли. Все работает, отличный способ.
Алексей, извините. Но как оказалось работает все таки ни как ожидалось.
эта вьюс не заменяет мои термины по прямым адресам maker/[cat-raw](taxonomy/term/), заменяет только если адресс будет такой catalogue/maker/[cat-raw]. Тем самым не дает мне возможность использовать модули которые напрямую обращаются к термину по его алиалу maker/[cat-raw].
Так и должно быть, или это я где то напутала? Ответьте, пожалуйста, понимаю что напрягаю) но поиск по форуму не дал результатов. Спасибо
Отвечаю если Вам нужен собственный view - например catalogue/% - используйте то, что написал, если нужно использовать страницу taxonomy/term/% , но при этом использовать alias для терминов - то переопределите с помощью views - страницу taxonomy/term/% как Вам надо, Вы увидете этот view на странице admin/build/views . Если есть вопросы - пишите постараюсь ответить.
Не могли бы Вы помочь мне разрешить следующую проблему:
Ситуация.
1 словарь. к нему привязаны 3 типа содержимого. Нужно вывести 3 отдельных страницы с деревом словаря и показывать на каждой содержимое только одного типа.
Реализация:
Страница (/catalog) c кодом для вывода дерева с терминами.
<?php
$vid = 2; //$tree = taxonomy_get_tree($vid, $parent = 0, $depth = -1, $max_depth = 2);
if (count($tree)) {
$uls = 0;
foreach ($tree as $term) {
$prev_depth = $depth;
$depth = $term->depth;
if ($prev_depth < $depth) { print "<ul id='rubrikator'>\n"; $uls++; }
if ($prev_depth > $depth) { print "</ul>\n"; $uls--; }
if ( $depth ) {
$cnt = taxonomy_term_count_nodes($term->tid);
print "<li class='rubrikator_content'>" . l($term->name, "catalog/taxonomy/term/$term->tid") . ( $cnt ? " (". $cnt . ")" : "" ) . "</li>, \n";
}
else print "<li class='rubrikator_title'><h2>".taxonomy_image_display($term->tid) . l($term->name, "catalog/taxonomy/term/$term->tid") . "</h2></li>\n";
}
for ($i=0; $i<$uls; $i++) print "</ul>\n";
} //if
?>
Создаю Views, page. Url: catalog/%
Arguments
Таксономия: Term ID (with depth)
Default argument type:
<?php
return 'all';
?>
Validator:
<?phpif( $_REQUEST['q'] === 'views/ajax') $arg = $_REQUEST['view_path'];
else $arg = $_REQUEST['q'];
$arg = str_replace('catalog/','',$arg);
// $arg = 'catalogues/category/produkty/programmy.html';
if(!empty($arg)){
if(!is_numeric($arg)){
$arg = str_replace('taxonomy/term/','',db_result(db_query("select src from {url_alias} where dst = '%s' ",$arg)));
//ob_start(); // Start output buffering
//print($_REQUEST['q']);
//print_r($GLOBALS);
//$plain = ob_get_contents();
//ob_end_clean(); // End buffering and discard
//
//if ($handle = fopen($_SERVER['DOCUMENT_ROOT'] . base_path() . "arg_tmp.txt", 'w+')) {
// fwrite($handle, $plain. "\n");
// fclose($handle);
//}
}
$handler->argument = is_numeric($arg) ? $arg : 'all';
}
return TRUE;?>
Таксономия: Term ID depth modifier
При клике на термин, отображаются ВСЕ привязанные к этому словарю материалы (пока что еще не фильтрую по типу содержимго).
Что я делаю не так?