Drupal kifejezések szótár szerint

Már nem először futok bele a problémába, hogy egy-egy tartalom megjelenítésekor a Drupal az összes kifejezést (taxonomy – term) ömlesztve, egy listában nyomja ki, de csak most volt annyira fontos, hogy megoldást keressek. Másnak is szüksége lehetett erre, mert a első két találata (főleg a második) használható megoldást adott.

Először az aktuális smink template.php állományába kell egy új függvényt létrehozni, ami egy node azonosítót (nid) vár paraméterként.

function phptemplate_print_terms( $nid ) {
    $vocabularies = taxonomy_get_vocabularies();
    $output = '<ul>';
    foreach( $vocabularies as $vocabulary ) {
        if ( $vocabularies ) {
            $terms = taxonomy_node_get_terms_by_vocabulary( $nid, $vocabulary->vid );
            if ( $terms ) {
                $links = array();
                $output .= '<li><strong>' . $vocabulary->name . '</strong>: ';
                foreach ( $terms as $term ) {
                    $links[ 'taxonomy_term_'. $term->tid ] = array(
                        'title' => $term->name,
                        'href' => taxonomy_term_path($term),
                        'atributes' => array(
                            'rel' => 'tag',
                            'title' => strip_tags($term->description)
                        )
                    );
                }
                $output .= theme('links', $links);
                $output .= '</li>';
            }
        }
    }
    $output .= '</ul>';
    return $output;
}

Majd a a node.tpl.php a megfelelő helyen ki kell nyomni

<div class="terms_by_vocab">
<?php echo phptemplate_print_terms( $nid ) ?>
</div>

Voálá

Posted in blog, geek | Tagged , , , | Drupal kifejezések szótár szerint bejegyzéshez a hozzászólások lehetősége kikapcsolva

Comments are closed.