public function render()
    {
        $pageUid = $this->arguments['pageUid'];
        if ($pageUid === null && !empty($this->getTypoScriptConfiguration()->getSearchTargetPage())) {
            $pageUid = $this->getTypoScriptConfiguration()->getSearchTargetPage();
        }

        $uri = $this->buildUriFromPageUidAndArguments($pageUid);

        $this->tag->addAttribute('action', trim($uri));
        if ($this->arguments['addSuggestUrl']) {
            $this->tag->addAttribute('data-suggest', $this->getSuggestUrl($this->arguments['additionalFilters'], $pageUid));
        }
        $this->tag->addAttribute('data-suggest-header', htmlspecialchars($this->arguments['suggestHeader']));
        $this->tag->addAttribute('accept-charset', $this->frontendController->metaCharset);

        // Get search term
        $this->getTemplateVariableContainer()->add('q', $this->getQueryString());
        $this->getTemplateVariableContainer()->add('pageUid', $pageUid);
        $this->getTemplateVariableContainer()->add('languageUid', $this->frontendController->sys_language_uid);

        $this->getTemplateVariableContainer()->add('addPageAndLanguageId', !$this->getIsSiteManagedSite($pageUid));
        $formContent = $this->renderChildren();
        $this->getTemplateVariableContainer()->remove('addPageAndLanguageId');
        $this->getTemplateVariableContainer()->remove('q');
        $this->getTemplateVariableContainer()->remove('pageUid');
        $this->getTemplateVariableContainer()->remove('languageUid');

        $this->tag->setContent($formContent);

        return $this->tag->render();
    }