Wie komme ich an diesen Teil von "Glossary"?
am 08.03.2010 - 12:21 Uhr in
Hallo zusammen,
bisher war auf einer Seite ein Lexikon, das ich mithilfe des Glossary-Views auch ganz nett gestalten konnte. Nun ist die Situation etwas anders: Die Artikel sollen im Prinzip Blogartikel sein, aber es wäre erwünscht, dass bei jedem einzelnen Artikel und auch beim Blog oben (oder unten) die Übersicht der Anfangsbuchstaben so erscheint wie in diesem View, das Ganze dann sinnigerweise als Block, der auf den entsprechenden Seiten angezeigt wird.
Ich dachte, das wäre easy, aber irgendwie kriege ich das nicht entkoppelt. Habe schon bei den Argumenten und dem Glossary Mode geschaut. Immer muss ich aber auch Felder angeben und kann diese auch nicht unsichtbar machen, d.h. die Leiste mit den Anfangsbuchstaben scheint es nicht in unabhängig vom Rest eines Views geben zu können.
Hat da wer eine Lösung?
Alternativen wären evtl. ein statischer Block im selben Look mit Links auf Seiten mit den Anfangsbuchstaben oder aber die Verwendung mit Taxonomy - wobei ich dem Ersteller eines Blogbeitrags eigentlich nicht zumuten möchte; auch wäre es schön, wenn eben die Anzahl weiterhin mit angeziegt würde.
LG
Sonja
- Anmelden oder Registrieren um Kommentare zu schreiben
Klar kann man es
am 09.03.2010 - 12:01 Uhr
Klar kann man es entkoppeln:
$view = new view;
$view->name = 'glossar2';
$view->description = 'A list of all content, by letter.';
$view->tag = 'default';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->override_option('fields', array(
'title' => array(
'label' => 'Title',
'link_to_node' => 1,
'exclude' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'relationship' => 'none',
),
'name' => array(
'label' => 'Author',
'link_to_user' => 1,
'exclude' => 0,
'id' => 'name',
'table' => 'users',
'field' => 'name',
'relationship' => 'none',
),
'changed' => array(
'label' => 'Last update',
'date_format' => 'large',
'custom_date_format' => '',
'exclude' => 0,
'id' => 'changed',
'table' => 'node',
'field' => 'changed',
'relationship' => 'none',
),
));
$handler->override_option('arguments', array(
'title' => array(
'default_action' => 'default',
'style_plugin' => 'default_summary',
'style_options' => array(),
'wildcard' => 'all',
'wildcard_substitution' => 'All',
'title' => '',
'default_argument_type' => 'fixed',
'default_argument' => '',
'validate_type' => 'none',
'validate_fail' => 'not found',
'glossary' => 1,
'limit' => '1',
'case' => 'upper',
'path_case' => 'lower',
'transform_dash' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'relationship' => 'none',
'default_argument_user' => 0,
'default_argument_fixed' => 'a',
'default_argument_php' => '',
'validate_argument_vocabulary' => array(),
'validate_argument_type' => 'tid',
'validate_argument_php' => '',
),
));
$handler->override_option('access', array(
'type' => 'none',
'role' => array(),
'perm' => '',
));
$handler->override_option('cache', array(
'type' => 'none',
));
$handler->override_option('use_ajax', '1');
$handler->override_option('items_per_page', 36);
$handler->override_option('use_pager', '1');
$handler->override_option('style_plugin', 'table');
$handler->override_option('style_options', array(
'grouping' => '',
'override' => 1,
'sticky' => 0,
'order' => 'asc',
'columns' => array(
'title' => 'title',
'name' => 'name',
'changed' => 'changed',
),
'info' => array(
'title' => array(
'sortable' => 1,
'separator' => '',
),
'name' => array(
'sortable' => 1,
'separator' => '',
),
'changed' => array(
'sortable' => 1,
'separator' => '',
),
),
'default' => 'title',
));
$handler = $view->new_display('page', 'Page', 'page');
$handler->override_option('path', 'glossary');
$handler->override_option('menu', array(
'type' => 'normal',
'title' => 'Glossary',
'description' => '',
'weight' => '0',
'name' => 'navigation',
));
$handler->override_option('tab_options', array(
'type' => 'none',
'title' => '',
'description' => '',
'weight' => 0,
));
$handler = $view->new_display('block', 'Block', 'block');
$handler->override_option('arguments', array(
'title' => array(
'default_action' => 'summary asc',
'style_plugin' => 'unformatted_summary',
'style_options' => array(
'count' => 1,
'override' => 0,
'items_per_page' => '25',
'inline' => 1,
'separator' => ' | ',
),
'wildcard' => 'all',
'wildcard_substitution' => 'All',
'title' => '',
'default_argument_type' => 'fixed',
'default_argument' => '',
'validate_type' => 'none',
'validate_fail' => 'not found',
'glossary' => 1,
'limit' => '1',
'case' => 'upper',
'path_case' => 'lower',
'transform_dash' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'relationship' => 'none',
'default_argument_user' => 0,
'default_argument_fixed' => 'a',
'validate_argument_vocabulary' => array(),
'validate_argument_php' => '',
),
));
$handler->override_option('block_description', '');
$handler->override_option('block_caching', -1);
Sonst ist diese view exact! wie die default View. Den Block muss man nur noch in eine Region stecken, fertig.
Und wo in eine Region? In
am 09.03.2010 - 23:46 Uhr
Und wo in eine Region? In einer views-irgendwas.tpl.php? In der page.tpl.php kommt nämlich
Class 'view' not found in ...
, also da kennt Drupal das nicht.Und wie krieg ich diesen händischen View dann auf die gewünschten Seiten?
Werte muss ich dann wahrscheinlich noch anpassen, auf den geünschten Content-Typ hin?
LG
Sonja
Drupal Freelancer im Rheinland gesucht?
Naja einfach auf
am 10.03.2010 - 17:53 Uhr
Naja einfach auf admin/build/block
Ach so, da hab ich das kleine
am 10.03.2010 - 18:12 Uhr
Ach so, da hab ich das kleine Wörtchen "Block" wohl überlesen und war zu sehr auf eine Region fixiert.
Wenn ich das richtig verstehe, also einfach das Zeug in einen Block im PHP-Modus, aktivieren, fertig - bis auf das Anpassen?
Werd ich nachher mal probieren gehen, hab hier grad noch dringlichere Sachen, aber danke schon mal!
Sonja
Drupal Freelancer im Rheinland gesucht?
Tja, wenn ich das in einen
am 10.03.2010 - 19:58 Uhr
Tja, wenn ich das in einen Block kopiere und den einer Region zuordne, funzt das auch nicht:
Fatal error: Class 'view' not found in /drupal/includes/common.inc(1695) : eval()'d code on line 2
Drupal Freelancer im Rheinland gesucht?
Einfach als view importieren.
am 28.03.2010 - 10:11 Uhr
Einfach als view importieren. Fertig
Auf admin/build/views/import