Wie ooit al in Drupal met Views heeft liggen knoeien, weet dat het niet gemakkelijk is om, bijvoorbeeld, alle leden van een groep in een block af te drukken.
Welnu, na een avond van gevloek en frustraties (ik wist dat het kon, ik had het al ooit eens gedaan, maar wist niet meer hoe) ben ik er dan toch in geslaagd het aan de praat te krijgen zoals het hoort.
Om de medemens en -niet in de laatste plaats- mezelf, het in de toekomst gemakkelijker te maken, kun je hieronder de code gewoon (gratis en voor niks! 😉 ) knippen en plakken.
Ohja, en doe daarna je vrouw/vriendin de groeten, ze zal blij zijn dat je ook aan haar denkt 😉
$view = new view; $view->name = 'og_members_block'; $view->description = 'Member listing block'; $view->tag = 'og'; $view->view_php = ''; $view->base_table = 'users'; $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( 'picture' => array( 'id' => 'picture', 'table' => 'users', 'field' => 'picture', 'label' => '', 'relationship' => 'none', ), 'name' => array( 'id' => 'name', 'table' => 'users', 'field' => 'name', 'label' => '', 'link_to_user' => 1, 'relationship' => 'none', ), 'is_admin' => array( 'id' => 'is_admin', 'table' => 'og_uid', 'field' => 'is_admin', 'label' => '', 'relationship' => 'none', ), )); $handler->override_option('sorts', array( 'created' => array( 'id' => 'created', 'table' => 'og_uid', 'field' => 'created', 'order' => 'DESC', 'granularity' => 'second', 'relationship' => 'none', ), )); $handler->override_option('arguments', array( 'nid' => array( 'default_action' => 'default', 'style_plugin' => 'default_summary', 'style_options' => array( 'count' => TRUE, 'override' => FALSE, 'items_per_page' => 25, ), 'wildcard' => 'all', 'wildcard_substitution' => 'Alle', 'title' => '', 'default_argument_type' => 'php', 'default_argument' => '', 'validate_type' => 'og_group_types', 'validate_fail' => 'empty', 'break_phrase' => 0, 'not' => 0, 'id' => 'nid', 'table' => 'og_uid', 'field' => 'nid', 'add_table' => 0, 'relationship' => 'none', 'default_argument_fixed' => '39', 'default_argument_php' => 'if ($node = og_get_group_context()) { return $node->nid; } else { return NULL; }', 'validate_argument_node_type' => array( 'poll' => 0, 'event' => 0, 'group' => 0, 'page' => 0, 'startpagina' => 0, 'story' => 0, ), 'validate_argument_php' => '', 'require_value' => 0, 'reduce_duplicates' => 0, 'validate_argument_vocabulary' => array( '1' => 0, '2' => 0, '3' => 0, '4' => 0, ), 'validate_argument_type' => 'tid', 'default_argument_user' => 0, 'validate_argument_node_access' => 0, 'validate_argument_nid_type' => 'nid', 'validate_argument_is_member' => 0, 'default_options_div_prefix' => '', ), )); $handler->override_option('filters', array( 'is_admin' => array( 'operator' => 'not in', 'value' => array( '1' => '1', ), 'group' => 0, 'exposed' => FALSE, 'expose' => array( 'operator' => FALSE, 'label' => '', ), 'id' => 'is_admin', 'table' => 'og_uid', 'field' => 'is_admin', 'relationship' => 'none', 'expose_button' => array( 'button' => 'Expose', ), ), )); $handler->override_option('access', array( 'type' => 'none', 'role' => array(), 'perm' => '', )); $handler->override_option('title', 'Recent members'); $handler->override_option('empty', 'Niet gevonden'); $handler->override_option('empty_format', '1'); $handler->override_option('use_pager', '1'); $handler->override_option('style_plugin', 'list'); $handler->override_option('style_options', array( 'type' => 'ul', )); $handler->override_option('row_options', array( 'inline' => array( 'name' => 'name', 'is_admin' => 'is_admin', ), 'separator' => ' ', )); $handler = $view->new_display('block', 'Block Admins', 'block'); $handler->override_option('title', 'Group admins'); $handler->override_option('block_description', 'Group admins'); $handler->override_option('block_caching', -1); $handler = $view->new_display('block', 'Block Admins, Members', 'block_1'); $handler->override_option('block_description', 'Group members'); $handler->override_option('block_caching', -1);
Je wilt de komende evenementen van een bepaalde groep in een blok tonen op je Drupal website?
En je hebt al uren liggen knoeien met de instellingen?
Probleem opgelost! Importeer volgende code bij je views et voila…
Vergeet zeker je views cache niet te legen wanneer het “now” keyword niet wil werken 😉
$view = new view; $view->name = 'og_event'; $view->description = 'Volgende keer block'; $view->tag = 'volgende keer'; $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( 'field_datum_value' => array( 'label' => '', 'alter' => array( 'alter_text' => 0, 'text' => '', 'make_link' => 0, 'path' => '', 'alt' => '', 'prefix' => '', 'suffix' => '', 'help' => '', 'trim' => 0, 'max_length' => '', 'word_boundary' => 1, 'ellipsis' => 1, 'html' => 0, ), 'link_to_node' => 0, 'label_type' => 'none', 'format' => 'default', 'multiple' => array( 'multiple_number' => '', 'multiple_from' => '', 'multiple_to' => '', 'group' => TRUE, ), 'repeat' => array( 'show_repeat_rule' => '', ), 'fromto' => array( 'fromto' => 'value', ), 'exclude' => 0, 'id' => 'field_datum_value', 'table' => 'node_data_field_datum', 'field' => 'field_datum_value', 'override' => array( 'button' => 'Override', ), 'relationship' => 'none', ), 'title' => array( 'label' => '', 'alter' => array( 'alter_text' => 0, 'text' => '', 'make_link' => 1, 'path' => '', 'alt' => '', 'prefix' => '', 'suffix' => '', 'help' => '', 'trim' => 0, 'max_length' => '', 'word_boundary' => 1, 'ellipsis' => 1, 'html' => 0, ), 'link_to_node' => 1, 'exclude' => 0, 'id' => 'title', 'table' => 'node', 'field' => 'title', 'relationship' => 'none', 'override' => array( 'button' => 'Override', ), ), )); $handler->override_option('sorts', array( 'field_datum_value' => array( 'id' => 'field_datum_value', 'table' => 'node_data_field_datum', 'field' => 'field_datum_value', ), )); $handler->override_option('arguments', array( 'group_nid' => array( 'id' => 'group_nid', 'table' => 'og_ancestry', 'field' => 'group_nid', ), 'date_argument' => array( 'default_action' => 'ignore', 'style_plugin' => 'default_summary', 'style_options' => array(), 'wildcard' => 'all', 'wildcard_substitution' => 'Alle', 'title' => '', 'default_argument_type' => 'date', 'default_argument' => '', 'validate_type' => 'none', 'validate_fail' => 'not found', 'date_fields' => array( 'node_data_field_datum.field_datum_value' => 'node_data_field_datum.field_datum_value', 'node_data_field_toeterdate.field_toeterdate_value' => 'node_data_field_toeterdate.field_toeterdate_value', ), 'year_range' => '-3:+3', 'date_method' => 'OR', 'granularity' => 'month', 'id' => 'date_argument', 'table' => 'node', 'field' => 'date_argument', 'override' => array( 'button' => 'Override', ), 'relationship' => 'none', 'default_options_div_prefix' => '', 'default_argument_user' => 0, 'default_argument_fixed' => '', 'default_argument_php' => '', 'validate_argument_node_type' => array( 'poll' => 0, 'faq' => 0, 'event' => 0, 'event2' => 0, 'event3' => 0, 'group' => 0, 'page' => 0, 'startpagina' => 0, 'story' => 0, ), 'validate_argument_node_access' => 0, 'validate_argument_nid_type' => 'nid', 'user_argument_type' => '', 'restrict_user_roles' => 0, 'user_roles' => array(), 'validate_argument_is_member' => 0, 'validate_argument_php' => '', ), )); $handler->override_option('access', array( 'type' => 'none', )); $handler->override_option('title', 'Volgende keer'); $handler->override_option('footer', '<br />'); $handler->override_option('footer_format', '2'); $handler->override_option('footer_empty', 0); $handler->override_option('empty', 'Geen vergaderingen gevonden.'); $handler->override_option('empty_format', '2'); $handler->override_option('items_per_page', 1); $handler->override_option('use_more', 1); $handler = $view->new_display('block', 'Blok', 'block_1'); $handler->override_option('filters', array( 'picg' => array( 'operator' => '=', 'value' => '', 'group' => '0', 'exposed' => FALSE, 'expose' => array( 'operator' => FALSE, 'label' => '', ), 'id' => 'picg', 'table' => 'og_ancestry', 'field' => 'picg', 'override' => array( 'button' => 'Use default', ), 'relationship' => 'none', ), 'date_filter' => array( 'operator' => '>=', 'value' => array( 'value' => '2009-03-14 00:00:00', 'min' => NULL, 'max' => NULL, 'default_date' => 'now', 'default_to_date' => '', ), 'group' => '0', 'exposed' => FALSE, 'expose' => array( 'operator' => FALSE, 'label' => '', ), 'date_fields' => array( 'node_data_field_datum.field_datum_value' => 'node_data_field_datum.field_datum_value', ), 'date_method' => 'OR', 'granularity' => 'day', 'form_type' => 'date_select', 'default_date' => 'now', 'default_to_date' => '', 'year_range' => '-3:+3', 'id' => 'date_filter', 'table' => 'node', 'field' => 'date_filter', 'override' => array( 'button' => 'Use default', ), 'relationship' => 'none', ), )); $handler->override_option('block_description', ''); $handler->override_option('block_caching', -1);
$view = new view; $view->name = 'og_event'; $view->description = 'Volgende keer block'; $view->tag = 'volgende keer'; $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' => '', 'alter' => array( 'alter_text' => 0, 'text' => '', 'make_link' => 1, 'path' => '', 'alt' => '', 'prefix' => '', 'suffix' => '', 'help' => '', 'trim' => 0, 'max_length' => '', 'word_boundary' => 1, 'ellipsis' => 1, 'html' => 0, ), 'link_to_node' => 1, 'exclude' => 0, 'id' => 'title', 'table' => 'node', 'field' => 'title', 'relationship' => 'none', 'override' => array( 'button' => 'Override', ), ), 'field_datum_value' => array( 'id' => 'field_datum_value', 'table' => 'node_data_field_datum', 'field' => 'field_datum_value', ), )); $handler->override_option('sorts', array( 'field_datum_value' => array( 'order' => 'ASC', 'delta' => -1, 'id' => 'field_datum_value', 'table' => 'node_data_field_datum', 'field' => 'field_datum_value', 'relationship' => 'none', ), )); $handler->override_option('arguments', array( 'group_nid' => array( 'default_action' => 'default', 'style_plugin' => 'default_summary', 'style_options' => array(), 'wildcard' => 'all', 'wildcard_substitution' => 'Alle', 'title' => '', 'breadcrumb' => '', 'default_argument_type' => 'php', 'default_argument' => '', 'validate_type' => 'og_group_types', 'validate_fail' => 'not found', 'break_phrase' => 0, 'not' => 0, 'id' => 'group_nid', 'table' => 'og_ancestry', 'field' => 'group_nid', 'validate_user_argument_type' => 'uid', 'validate_user_roles' => array( '2' => 0, '5' => 0, '3' => 0, '4' => 0, ), 'relationship' => 'none', 'default_options_div_prefix' => '', 'default_argument_user' => 0, 'default_argument_fixed' => '', 'default_argument_php' => 'if ($node = og_get_group_context()) { return $node->nid; } else { return NULL; }', 'validate_argument_node_type' => array( 'event2' => 'event2', 'poll' => 0, 'faq' => 0, 'event' => 0, 'group' => 0, 'page' => 0, 'startpagina' => 0, 'story' => 0, 'takpagina' => 0, ), 'validate_argument_node_access' => 0, 'validate_argument_nid_type' => 'nid', 'validate_user_restrict_roles' => 0, 'validate_argument_is_member' => 0, 'validate_argument_php' => '', 'override' => array( 'button' => 'Override', ), ), )); $handler->override_option('filters', array( 'date_filter' => array( 'operator' => '=', 'value' => array( 'min' => NULL, 'max' => NULL, 'value' => NULL, 'default_date' => 'now', 'default_to_date' => '', ), 'group' => '0', 'exposed' => FALSE, 'expose' => array( 'operator' => FALSE, 'label' => '', ), 'date_fields' => array( 'node_data_field_datum.field_datum_value' => 'node_data_field_datum.field_datum_value', ), 'date_method' => 'OR', 'granularity' => 'day', 'form_type' => 'date_popup', 'default_date' => 'now', 'default_to_date' => '', 'year_range' => '-3:+3', 'id' => 'date_filter', 'table' => 'node', 'field' => 'date_filter', 'relationship' => 'none', ), )); $handler->override_option('access', array( 'type' => 'none', )); $handler->override_option('cache', array( 'type' => 'none', )); $handler->override_option('header', ' <h2><img style="position: relative; top: 5px; height: 26px; width: 26px;" src="/files/toeter.gif" alt="toeter" /> Volgende keer</h2> '); $handler->override_option('header_format', '2'); $handler->override_option('header_empty', 1); $handler->override_option('footer', ' '); $handler->override_option('footer_format', '2'); $handler->override_option('footer_empty', 0); $handler->override_option('empty', 'Geen vergaderingen gevonden.'); $handler->override_option('empty_format', '2'); $handler->override_option('items_per_page', 1); $handler->override_option('use_more', 1); $handler = $view->new_display('block', 'Blok', 'block_1'); $handler->override_option('filters', array( 'type' => array( 'operator' => 'in', 'value' => array( 'event2' => 'event2', ), 'group' => '0', 'exposed' => FALSE, 'expose' => array( 'operator' => FALSE, 'label' => '', ), 'id' => 'type', 'table' => 'node', 'field' => 'type', 'relationship' => 'none', ), 'date_filter' => array( 'operator' => '>=', 'value' => array( 'value' => NULL, 'min' => NULL, 'max' => NULL, 'default_date' => 'now', 'default_to_date' => '', ), 'group' => '0', 'exposed' => FALSE, 'expose' => array( 'operator' => FALSE, 'label' => '', ), 'date_fields' => array( 'node_data_field_datum.field_datum_value' => 'node_data_field_datum.field_datum_value', ), 'date_method' => 'OR', 'granularity' => 'day', 'form_type' => 'date_popup', 'default_date' => 'now', 'default_to_date' => '', 'year_range' => '-3:+3', 'id' => 'date_filter', 'table' => 'node', 'field' => 'date_filter', 'override' => array( 'button' => 'Use default', ), 'relationship' => 'none', ), )); $handler->override_option('block_description', ''); $handler->override_option('block_caching', -1);