Date post: | 23-Aug-2014 |
Category: |
Internet |
Upload: | sergiu-savva |
View: | 337 times |
Download: | 5 times |
Views & Panels
Sergiu Savva
Drupal Developer for 3 Years
Drupal user https://drupal.org/user/1758280LinkedIn profile http://lnkd.in/i9J7aSFacebook page http://www.facebook.com/Gamer4ik
Broken windows theory
Views
Views Execute order
http://www.kdweb.co.uk/blog/drupal-module-views-hook-sequence
hook_views_pre_view (&$view)⇓
hook_views_pre_build (&$view)⇓
hook_views_query_alter (&$view, &$query)⇓
hook_views_pre_execute (&$view)⇓
hook_views_pre_render (&$view)⇓
hook_views_post_render (&$view)
Fields excludesViews
Fields excludesViews
Views Custom text
Views Alternatives
Panel fields
Display mode (node, comment, entity … )
VS
Views Display mode
Views Additional tools
Entity View ModeViews Additional tools
hook_field_extra_fields()Fields Additional tools
/** * Implements hook_field_extra_fields(). */function HOOK_field_extra_fields() {
$extrafield_name = 'my_field';
foreach (array('page', 'article') as $node_type) {
$extra['node'][$node_type]['display'][$extrafield_name] = array(
'label' => t('Some freaking title'),
'description' => t('A serious description.'),
'weight' => 50, // default weight, can be changed on display form by site-builder.
); } return $extra; }
http://www.vdmi.nl/blog/attach-extra-or-pseudo-fields-any-entity-drupal
hook_node_view()Views Additional tools
/** * Implements hook_node_view(). * Also HOOK_entity_view() can be used. */
function HOOK_node_view($node, $view_mode, $langcode) {
$extrafields = field_extra_fields_get_display('node', $node->type, $view_mode);
$extrafield_name = 'my_field'; if (isset($extrafields[$extrafield_name]) && isset($extrafields[$extrafield_name]['visible']) && $extrafields[$extrafield_name]['visible']) {
// Your logic here.$node->content[$extrafield_name] = array('#markup' => 'Build array with content');
}}
http://www.vdmi.nl/blog/attach-extra-or-pseudo-fields-any-entity-drupal
Views Additional toolsViews pane field
Views & Panels Custom layout
Panels 3: Creating a custom layout in your theme https://drupal.org/node/495654
; Panels layouts. You can place multiple layouts under the "layouts" folder.plugins[panels][layouts] = layouts
my_theme.info
$plugin = array( 'title' => t('One row two columns'), 'category' => t('onerowtwocols'), 'icon' => 'onerowtwocols.png', 'theme' => 'onerowtwocols', 'css' => 'onerowtwocols.css', 'regions' => array(
'top' => t('Top'),'right' => t('Right side'),'left' => t('Left side')
),);
my_plugin.inc
Views & Panels Overloaded Pages
(Views == listing) == TRUE
(Views != one node) == TRUE
Views & Panels Overloaded Pages
Views & Panels SQL in template files
Do not use SQL in template files
Views Fields handler
Panels
block VS ctools content type plugins
Views Panels, Why so slow?
Thank You !!