Same name and namespace in other branches
- 8.x-3.x src/Plugin/TabType/QtabsContent.php \Drupal\quicktabs\Plugin\TabType\QtabsContent 1 comment
Provides a 'qtabs content' tab type.
Plugin annotation
@TabType(
id = "qtabs_content",
name = @Translation("qtabs"),
)
Hierarchy
- class \Drupal\quicktabs\TabTypeBase extends \Drupal\Component\Plugin\PluginBase implements \Drupal\quicktabs\TabTypeInterface uses \Drupal\Core\DependencyInjection\DependencySerializationTrait
- class \Drupal\quicktabs\Plugin\TabType\QtabsContent extends \Drupal\quicktabs\TabTypeBase uses \Drupal\Core\StringTranslation\StringTranslationTrait
Expanded class hierarchy of QtabsContent
File
-
src/
Plugin/ TabType/ QtabsContent.php, line 16
Namespace
Drupal\quicktabs\Plugin\TabTypeView source
class QtabsContent extends TabTypeBase {
use StringTranslationTrait;
/**
* {@inheritdoc}
*/
public function optionsForm(array $tab) {
$plugin_id = $this->getPluginDefinition()['id'];
$form = [];
$tab_options = [];
foreach (\Drupal::entityTypeManager()->getStorage('quicktabs_instance')
->loadMultiple() as $machine_name => $entity) {
// Do not offer the option to put a tab inside itself.
if (!isset($tab['entity_id']) || $machine_name != $tab['entity_id']) {
$tab_options[$machine_name] = $entity->label();
}
}
$form['machine_name'] = [
'#type' => 'select',
'#title' => $this->t('QuickTabs instance'),
'#description' => $this->t('The QuickTabs instance to put inside this tab.'),
'#options' => $tab_options,
'#default_value' => isset($tab['content'][$plugin_id]['options']['machine_name']) ? $tab['content'][$plugin_id]['options']['machine_name'] : '',
];
return $form;
}
/**
* {@inheritdoc}
*/
public function render(array $tab) {
$options = $tab['content'][$tab['type']]['options'];
$qt = \Drupal::service('entity_type.manager')->getStorage('quicktabs_instance')
->load($options['machine_name']);
return $qt->getRenderArray();
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
QtabsContent::optionsForm | public | function | Return form elements used on the edit/add from. | Overrides TabTypeBase::optionsForm |
QtabsContent::render | public | function | Return a render array for an individual tab tat the theme layer to process. | Overrides TabTypeBase::render |
TabTypeBase::getName | protected | function | Gets the name of the plugin. |