Здесь: модуль pdf view описывается задача.
Далее приводится решение.
<?php
// на всякий случай
if( !module_exist("taxonomy")){
print('Включите модуль taxonomy!');
return;
}
// путь должен быть /node/123
if( arg(0)!= 'node' || !arg(1) || !is_numeric(arg(1)))
return;
else
$nid = arg(1);
print("
Begin ($nid)\n"); // получаем список всех терминов, привязанных к данному материалу // если нужно сделать это в пределах одного словаря, пользуемся // функцией taxonomy_node_get_terms_by_vocabulary($nid,$vid) $node_terms = taxonomy_node_get_terms($nid); // для каждого термина строим дерево родителей // внимание! в данном примере, дабы не лезть в // многомерность, считаем, что у каждого термина // есть только один родитель // если есть желающие познать многмерность, пусть // не забудут они и про бесконечную рекурсию $tree_array = array(); foreach($node_terms as $term) { $tree = array(); do{ $tree[] = $term; }while( $term = array_shift(taxonomy_get_parents($term->tid))); $tree_array[] = $tree; } // теперь проводим обратную процедуру: обрабатываем // каждое дерево, и для каджого его термина выводим список // материалов, привязанных к этому термину // используем метод array_pop для "вытаскивания" терминов // в обратном порядке от того, в каком помещали while( $tree = array_pop($tree_array) ) while( $term = array_pop($tree) ) { print("Раздел: ".$term->name."\n"); $result = taxonomy_select_nodes(array(0=>$term->tid), 'or'); while ($node = db_fetch_object($result)) print(" Заголовок материала: \"".$node->title."\"\n"); } print("End
\n");
?>
Комментарии
Круто.
PS: Я не добавил обработку PDF, но думаю это уже проще - в библиотеке есть примеры, да и модуль можно посмотреть.
2seaji: я скоро по taxonomy спецом стану
Как спецу по таксономии - посмотри, плз, код taxonomy_xml - много там под D5 переписывать!?
А то написал автору - тишина. а мне край- стоит задача категории с 4.7 перенести. Список стран (больше 200 элементов) с описаниями.
Ручками такое перебивать - повеситься!
Мой сайт на drupal - www.travelweekly.ru
> я скоро по taxonomy спецом стану
Ждем, таких давно не хватает.
На первый взгляд вроде маленький модуль. Может и не будет проблем. Попробуй сам сначала.
Создай файл taxonomy_xml.info в каталоге модуля и включи его.
Если будут вылязить ошибки (или просто работать не будет) сверся с версионными изменениями Drupal'a (на сайте drupal5.ru есть список по русски)
Удачи!
объясните в какой файл это надо писать???
Ты же сам говорил: "если пойму как генерить список файлов думаю с сортировкой проблем не должно".
Я так понял, что разверёшься
Править надо модуль pdfview. Смотри как там генериться страница для печать и вставь в это место мой кусок кода.
привет еще раз, помоги разобратся с пдф, ты писал тут что тут все просто, может быть но я что то никак не могу догнать, где именно нужно вписать твой код?(что в файле pdfview.module это я уже понял), когда я пробовал вписывать сам то друпал почемуто ни как не мог одуплить ф-ю taxonomy_node_get_terms($nid), что это может быть помоги.