QtabsContent.php in Quick Tabs 8.3
File
src/Plugin/TabType/QtabsContent.php
View source
<?php
namespace Drupal\quicktabs\Plugin\TabType;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\quicktabs\TabTypeBase;
class QtabsContent extends TabTypeBase {
use StringTranslationTrait;
public function optionsForm(array $tab) {
$plugin_id = $this
->getPluginDefinition()['id'];
$form = [];
$tab_options = [];
foreach (\Drupal::entityTypeManager()
->getStorage('quicktabs_instance')
->loadMultiple() as $machine_name => $entity) {
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;
}
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();
}
}