function panels_mini_panels_mini_content_type_render in Panels 6.3
Same name and namespace in other branches
- 7.3 panels_mini/plugins/content_types/panels_mini.inc \panels_mini_panels_mini_content_type_render()
Render a mini panel called from a panels display.
File
- panels_mini/
plugins/ content_types/ panels_mini.inc, line 76 - Contains the content type plugin for a mini panel. While this does not need to be broken out into a .inc file, it's convenient that we do so that we don't load code unneccessarily. Plus it demonstrates plugins in modules other than Panels…
Code
function panels_mini_panels_mini_content_type_render($subtype, $conf, $panel_args, &$contexts) {
static $viewing = array();
$mini = panels_mini_load($subtype);
if (!$mini) {
return FALSE;
}
if (!empty($viewing[$mini->name])) {
return FALSE;
}
// Load up any contexts we might be using.
$context = ctools_context_match_required_contexts($mini->requiredcontexts, $contexts);
$mini->context = $mini->display->context = ctools_context_load_contexts($mini, FALSE, $context);
if (empty($mini) || !empty($mini->disabled)) {
return;
}
$viewing[$mini->name] = TRUE;
$mini->display->args = $panel_args;
$mini->display->css_id = panels_mini_get_id($subtype);
$mini->display->owner = $mini;
// unique ID of this mini.
$mini->display->owner->id = $mini->name;
$block = new stdClass();
$block->module = 'panels_mini';
$block->delta = $subtype;
$block->content = panels_render_display($mini->display);
$block->title = $mini->display
->get_title();
unset($viewing[$mini->name]);
return $block;
}