Same name and namespace in other branches
  1. 8.x-1.x src/Plugin/QuickContent/QuickQtabsContent.php \Drupal\quicktabs\Plugin\QuickContent\QuickQtabsContent::render()

Overrides QuickContentRenderable::render

File

plugins/QuickQtabsContent.inc, line 33

Class

QuickQtabsContent
Class for tab content of type "qtabs" - this is for rendering a QuickSet instance as the tab content of another QuickSet instance.

Code

public function render($hide_empty = FALSE, $args = array()) {
    if ($this->rendered_content) {
        return $this->rendered_content;
    }
    $item = $this->settings;
    if (!empty($args)) {
        // The args have been passed in from an ajax request.
        // The first element of the args array is the qt_name, which we don't need
        // for this content type.
        array_shift($args);
        $item['machine_name'] = $args[0];
    }
    $output = array();
    if (isset($item['machine_name'])) {
        if ($quicktabs = quicktabs_load($item['machine_name'])) {
            $contents = $quicktabs->tabs;
            $name = $quicktabs->machine_name;
            unset($quicktabs->tabs, $quicktabs->machine_name);
            $options = (array) $quicktabs;
            if ($qt = QuickSet::QuickSetRendererFactory($name, $contents, $quicktabs->renderer, $options)) {
                $output = $qt->render();
            }
        }
    }
    $this->rendered_content = $output;
    return $output;
}