Panels everywhere

17
Panels everywhere as a concept Sergiu Savva Drupal developer

description

 

Transcript of Panels everywhere

Page 1: Panels everywhere

Panels everywhereas a concept

Sergiu SavvaDrupal developer

Page 2: Panels everywhere

When should we use panels ?

Always !

Introduction

Page 3: Panels everywhere

Panels

Panels = Flexibility

Why ?

Page 4: Panels everywhere

Panels

Page 5: Panels everywhere

Panels

Page 6: Panels everywhere

User interfacePanels

Page 7: Panels everywhere

User interfacePanels

Page 8: Panels everywhere

Mini panels

Page 9: Panels everywhere

Mini panels

* http://codekarate.com/content/embed-mini-panel-code

Page 10: Panels everywhere

Mini panels

function example_page_callback ($js = NULL, $node = NULL) {

// Fall back if $js is not set.

if (!$js) {

drupal_goto( 'node/' . $node->nid);

}

ctools_include( 'modal');

ctools_include( 'ajax');

ctools_include( 'context');

$context = ctools_context_create( 'node', $node);

$context->identifier = t('This node');

$context->keyword = 'node';

$contexts = array('panel-node' => $context);

$html = example_panel_mini_render( $node, 'MY_MINI_PANEL' , $contexts);

$output[] = ctools_modal_command_display( 'Content', $html);

print ajax_render($output);

exit;

}

Page 11: Panels everywhere

Mini panels

function example_panel_mini_render ($data, $panel_name, $contexts) {

if (isset($data)) {

// Add a node context to the mini panel.

ctools_include( 'context');

$panel_mini = panels_mini_load( $panel_name);

$context = ctools_context_match_required_contexts(

$panel_mini->requiredcontexts ,

$contexts

);

$panel_mini->context =

$panel_mini->display->context =

ctools_context_load_contexts( $panel_mini, FALSE, $context);

return panels_render_display( $panel_mini->display);

}

return '';

}

Page 12: Panels everywhere

Mini panels

} node fields

custom pane

} Views

} Views

Page 13: Panels everywhere

Page manager

Page 14: Panels everywhere

Page manager

Page 15: Panels everywhere

Panels everywhere

Page 16: Panels everywhere

Panels everywhere

Demo

Page 17: Panels everywhere

Panels everywhere

Thank you