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

Overrides QuickContentRenderable::render

File

plugins/QuickNodeContent.inc, line 43

Class

QuickNodeContent
Class for tab content of type "node" - this is for rendering a node as tab content.

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);
        list($item['nid'], $item['view_mode'], $item['hide_title']) = $args;
    }
    $output = array();
    if (isset($item['nid'])) {
        $node = node_load($item['nid']);
        if (!empty($node)) {
            if (node_access('view', $node)) {
                $buildmode = $item['view_mode'];
                $nstruct = node_view($node, $buildmode);
                if ($item['hide_title']) {
                    $nstruct['#node']->title = NULL;
                }
                $output = $nstruct;
            }
            elseif (!$hide_empty) {
                $output = array(
                    '#markup' => theme('quicktabs_tab_access_denied', array(
                        'tab' => $item,
                    )),
                );
            }
        }
    }
    return $output;
}