View source
<?php
$plugin = array(
'title' => t('View attachment'),
'category' => t('View context'),
'icon' => 'icon_views_page.png',
'description' => t('Display the attachments on a view context.'),
'required context' => new ctools_context_required(t('View'), 'view'),
'defaults' => array(
'which' => array(),
),
);
function views_content_views_attachments_content_type_render($subtype, $conf, $panel_args, $context) {
if (empty($context) || empty($context->data)) {
return;
}
$block = new stdClass();
$block->module = 'views_attachments';
$block->delta = $context->argument;
$block->title = '';
$block->content = '';
$output = views_content_context_get_output($context);
foreach ($conf['which'] as $attachment) {
if (isset($output[$attachment])) {
$block->content .= $output[$attachment];
}
}
return $block;
}
function views_content_views_attachments_content_type_edit_form(&$form, &$form_state) {
$conf = $form_state['conf'];
$form['which'] = array(
'#type' => 'checkboxes',
'#options' => array(
'attachment_before' => t('"Before" attachment'),
'attachment_after' => t('"After" attachment'),
),
'#default_value' => $conf['which'],
);
}
function views_content_views_attachments_content_type_edit_form_validate(&$form, &$form_state) {
if (!array_filter($form_state['values']['which'])) {
form_error($form['which'], t('You must select at least one attachment to display.'));
}
}
function views_content_views_attachments_content_type_edit_form_submit(&$form, &$form_state) {
$form_state['conf']['which'] = array_filter($form_state['values']['which']);
}
function views_content_views_attachments_content_type_admin_title($subtype, $conf, $context) {
return t('"@context" attachment', array(
'@context' => $context->identifier,
));
}