Drupal Monthly Archive mit dem Views Modul
Dieses Howto beschreibt die Einbindung eines monatlichen Archivs mit Hilfe des Moduls Views. Im Gegensatz zum Archiv Modul ist ein wesentlich ansehnlicheres monatliches Archivmenü möglich.
Nachdem ihr das Modul hier heruntergeladen habt müsst ihr unter dem Menüpunkt /admin/build/views/import folgenden Code importieren:
$view = new stdClass(); $view->name = 'archive'; $view->description = 'Monthly archive'; $view->access = array ( 0 => '1', 1 => '2', ); $view->page = TRUE; $view->page_title = '%1'; $view->page_header = ''; $view->page_header_format = '1'; $view->page_type = 'teaser'; $view->url = 'archive'; $view->use_pager = TRUE; $view->nodes_per_page = '10'; $view->block = TRUE; $view->block_title = 'Archive'; $view->block_header = ''; $view->block_header_format = '1'; $view->block_type = 'list'; $view->nodes_per_block = '5'; $view->block_more = '1'; $view->block_use_page_header = FALSE; $view->sort = array ( array ( 'tablename' => 'node', 'field' => 'created', 'sortorder' => 'DESC', 'options' => '', ), ); $view->argument = array ( array ( 'type' => 'monthyear', 'argdefault' => '3', 'title' => 'Monthly Archive', 'options' => '', ), ); $view->field = array ( array ( 'tablename' => 'node', 'field' => 'title', 'label' => '', 'handler' => 'views_handler_field_nodelink', ), ); $view->filter = array ( array ( 'tablename' => 'term_node', 'field' => 'tid', 'operator' => 'OR', 'options' => '', 'value' => array ( 0 => '1', 1 => '2', ), ), ); $view->requires = array(node, term_node); $views[$view->name] = $view;
Im Anschluss daran muss der template.php in euerm Theme-Verzeichnis folgende PHP-Funktion hinzugefügt werden:
function phptemplate_views_summary_archive($view, $type, $level, $nodes, $args) { foreach ($nodes as $node) { $list .= ' <li class="leaf">' . views_get_summary_link($view->argument[$level]['type'], $node, $view->real_url) . "</li> \n"; } if ($list) { return " <ul>$list</ul> "; } }
Durch die obigen Arbeitsschritte wird ein neuer Block mit einem hübschen Archivmenü ohne nervigen Kalender erzeugt, den man wie gewohnt in seine Site einbauen kann.







Post new comment