Кто разбирается в PHP коде

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

Аватар пользователя DiMoN_TD DiMoN_TD 6 ноября 2007 в 0:09

Привет всем!

У меня есть кусок кода на php.. он вставляется в блок и соответственно его прямая функция - вывод категории и его терминов.
Вот он код:
<?php
// accordion taxonomy menu
// by Chris Herberte
// ** don't forget to change $vocabulary --vv
//

$vocabulary = 3; // <-- change ########## to your vid (e.g 1)

drupal_add_js('misc/collapse.js');
$lastdepth = 1;
$topoflist = 1;
$nid = 0;

if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
$nid = arg(1);
$terms = taxonomy_node_get_terms($nid);
rsort($terms);
$tid = $terms[0]->tid;
}
elseif (arg(0) == 'taxonomy' && arg(1) == 'term') {
$terms = preg_split('/[+ ,]/', arg(2));
$tid = $terms[0];
}

$parents = taxonomy_get_parents($tid);
foreach ($parents as $parent) {
$i++;
}

$tree = taxonomy_get_tree($vocabulary);

foreach ($tree as $term) {

if ($lastdepth == 1 && $term->depth == 0 ) {
$legend = $term->name;
if ($topoflist == 0) {
print "

";
}

if ( $term->tid == $parent->tid) {
print "$legend

    ";
    }
    else {
    print "$legend

    ";
    ?>

    Мне нужно сделать так, чтобы у меня рядом с терминами выводилось кол-во материалов, например:
    DVD
    -- Комедия (12)
    -- Мелодрама (10)
    -- Ужастики (5)

    Заранее благодарен тому, кто сможет мне помочь с этим вопросом...
    Ещё раз повторяю, мне нужно именно в ЭТОМ коде сделать такую возможность!
    Реально ли это сделать и сложно ли??

Комментарии

Аватар пользователя DiMoN_TD DiMoN_TD 6 ноября 2007 в 13:34

я бы с радостью, и кстати на будущее я буду знать, но теперь поздно, и мне нужно поменять именно тот код, что я выставил =(((

Аватар пользователя fedotpuul fedotpuul 6 ноября 2007 в 14:21

Попробуй вот это, хотя я коряво написал, но должно работать
<?php
// accordion taxonomy menu
// by Chris Herberte
// ** don't forget to change $vocabulary --vv
//

$vocabulary = 3; // <-- change ########## to your vid (e.g 1)

drupal_add_js('misc/collapse.js');
$lastdepth = 1;
$topoflist = 1;
$nid = 0;

if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
$nid = arg(1);
$terms = taxonomy_node_get_terms($nid);
rsort($terms);
$tid = $terms[0]->tid;
}
elseif (arg(0) == 'taxonomy' && arg(1) == 'term') {
$terms = preg_split('/[+ ,]/', arg(2));
$tid = $terms[0];
}

$parents = taxonomy_get_parents($tid);
foreach ($parents as $parent) {
$i++;
}

$tree = taxonomy_get_tree($vocabulary);

foreach ($tree as $term) {

if ($lastdepth == 1 && $term->depth == 0 ) {
$legend = $term->name;
if ($topoflist == 0) {
print "

";
}

if ( $term->tid == $parent->tid) {
print "$legend

    ";
    }
    else {
    print "$legend

    ";
    ?>

Аватар пользователя coil coil 6 ноября 2007 в 15:26
<?php
$vid = 3;
$items = array();
$terms = taxonomy_get_tree($vid);
foreach ( $terms as $term ) {
    $count = db_result(db_query("SELECT COUNT(nid) FROM {term_node} WHERE tid = %d", $term->tid));

$count2 = db_result(db_query("
SELECT COUNT( n.nid )
FROM weblinks_node n
LEFT JOIN weblinks_term_node tn ON n.nid = tn.nid
WHERE tn.tid = $term->tid
AND n.status =1"
));

    $items[] = l($term->name, "taxonomy/term/$term->tid") . " ($count2)";
}
if ( count($items) ) {  
print  theme('item_list', $items);

}
?>