Back to AdministratorApplication class

Method dispatch

public void
dispatch
(mixed $component = null)
Dispatch the application
Parameters
  • string $component The component which is being rendered.
Returns
  • void
Since
  • 3.2

Method dispatch - Source code

/**
 * Dispatch the application
 *
 * @param   string  $component  The component which is being rendered.
 *
 * @return  void
 *
 * @since   3.2
 */
public function dispatch($component = null)
{
    if ($component === null) {
        $component = $this->findOption();
    }
    // Load the document to the API
    $this->loadDocument();
    // Set up the params
    $document = Factory::getDocument();
    // Register the document object with Factory
    Factory::$document = $document;
    switch ($document->getType()) {
        case 'html':
            // Get the template
            $template = $this->getTemplate(true);
            $clientId = $this->getClientId();
            // Store the template and its params to the config
            $this->set('theme', $template->template);
            $this->set('themeParams', $template->params);
            // Add Asset registry files
            $wr = $document->getWebAssetManager()->getRegistry();
            if ($component) {
                $wr->addExtensionRegistryFile($component);
            }
            if (!empty($template->parent)) {
                $wr->addTemplateRegistryFile($template->parent, $clientId);
            }
            $wr->addTemplateRegistryFile($template->template, $clientId);
            break;
        default:
            break;
    }
    $document->setTitle($this->get('sitename') . ' - ' . Text::_('JADMINISTRATION'));
    $document->setDescription($this->get('MetaDesc'));
    $document->setGenerator('Joomla! - Open Source Content Management');
    $contents = ComponentHelper::renderComponent($component);
    $document->setBuffer($contents, 'component');
    // Trigger the onAfterDispatch event.
    PluginHelper::importPlugin('system');
    $this->triggerEvent('onAfterDispatch');
}