use this method to add any variables to the render method that you may
require for some view.

@param string $sViewName - the view being requested
@param string $sViewType - the location of the view (Core, Custom-Core, Customer)

@return array
433601
protected function &GetAdditionalViewVariables($sViewName, $sViewType)
    {
        $aViewVariables = &parent::GetAdditionalViewVariables($sViewName, $sViewType);
        $aViewVariables['oUser'] = $this->getExtranetUserProvider()->getActiveUser();
        $aViewVariables['oExtranetConfig'] = &TdbDataExtranet::GetInstance();
        $aViewVariables['oBasket'] = $this->getShopService()->getActiveBasket();

        $oUserStep = TdbShopOrderStep::GetStep('user');
        $aViewVariables['sLinkUserData'] = $oUserStep->GetStepURL();
        $aViewVariables['sLinkShippingAddress'] = $aViewVariables['sLinkUserData'];
        $oShippingStep = TdbShopOrderStep::GetStep('shippingaddress');
        if ($oShippingStep) {
            $aViewVariables['sLinkShippingAddress'] = $oShippingStep->GetStepURL();
        }

        $oShippingStep = TdbShopOrderStep::GetStep('shipping');
        $aViewVariables['sLinkShipping'] = $oShippingStep->GetStepURL();

        return $aViewVariables;
    }
1107913
private function initializeVars(IView $view)
    {
        $this->directiveDelimiters = $view->getDelimiters(IView::DELIMITER_TYPE_DIRECTIVE);
        $this->sanitizedTagDelimiters = $view->getDelimiters(IView::DELIMITER_TYPE_SANITIZED_TAG);
        $this->unsanitizedTagDelimiters = $view->getDelimiters(IView::DELIMITER_TYPE_UNSANITIZED_TAG);
        $this->commentDelimiters = $view->getDelimiters(IView::DELIMITER_TYPE_COMMENT);
        // Normalize the line-endings
        $this->input = str_replace(["\r\n", "\r"], "\n", $view->getContents());
        $this->tokens = [];
        $this->cursor = 0;
        $this->line = 1;
        $this->expressionBuffer = '';
    }
635249
public function getCustomVariables($idSite, $period, $date, $segment = false, $expanded = false, $_leavePiwikCoreVariables = false, $flat = false)
    {
        Piwik::checkUserHasViewAccess($idSite);

        $dataTable = $this->getDataTable($idSite, $period, $date, $segment, $expanded, $flat, $idSubtable = null);

        if ($dataTable instanceof DataTable
            && !$_leavePiwikCoreVariables
        ) {
            $mapping = self::getReservedCustomVariableKeys();
            foreach ($mapping as $name) {
                $row = $dataTable->getRowFromLabel($name);
                if ($row) {
                    $dataTable->deleteRow($dataTable->getRowIdFromLabel($name));
                }
            }
        }


        if ($flat) {
            $dataTable->filterSubtables('Piwik\Plugins\CustomVariables\DataTable\Filter\CustomVariablesValuesFromNameId');
        } else {
            $dataTable->filter('AddSegmentByLabel', array('customVariableName'));
        }

        return $dataTable;
    }
101782
public function render()
    {
        $myConfig = \OxidEsales\Eshop\Core\Registry::getConfig();

        parent::render();

        $oAuthUser = oxNew(\OxidEsales\Eshop\Application\Model\User::class);
        $oAuthUser->loadAdminUser();
        $blisMallAdmin = $oAuthUser->oxuser__oxrights->value == "malladmin";

        if ($blisMallAdmin && !$myConfig->isDemoShop()) {
            $aClassVars = get_object_vars($myConfig);
            $aSystemInfo = [];
            $aSystemInfo['pkg.info'] = $myConfig->getPackageInfo();
            $oSmarty = \OxidEsales\Eshop\Core\Registry::getUtilsView()->getSmarty();
            foreach ($aClassVars as $name => $value) {
                if (gettype($value) == "object") {
                    continue;
                }

                if (!$this->isClassVariableVisible($name)) {
                    continue;
                }

                $value = var_export($value, true);
                $value = str_replace("\n", "<br>", $value);
                $aSystemInfo[$name] = $value;
                //echo( "$name = $value <br>");
            }
            $oSmarty->assign("oViewConf", $this->_aViewData["oViewConf"]);
            $oSmarty->assign("oView", $this->_aViewData["oView"]);
            $oSmarty->assign("shop", $this->_aViewData["shop"]);
            $oSmarty->assign("isdemo", $myConfig->isDemoShop());
            $oSmarty->assign("aSystemInfo", $aSystemInfo);

            ob_start();
            echo $oSmarty->fetch("systeminfo.tpl");
            echo("<br><br>");

            phpinfo();
            $sMessage = ob_get_clean();

            \OxidEsales\Eshop\Core\Registry::getUtils()->showMessageAndExit($sMessage);
        } else {
            return \OxidEsales\Eshop\Core\Registry::getUtils()->showMessageAndExit("Access denied !");
        }
    }
360579
public function Render($sViewName = 'RatingService_standard', $sViewSubType = 'pkgShopRatingService/views', $sViewType = 'Customer', $sSpotName = null, $aCallTimeVars = array())
    {
        $sHTML = '';
        $oView = new TViewParser();
        /** @var $oView TViewParser */

        //create view name for this "active" rating-service
        if (!empty($this->fieldAffiliateValue)) {
            $sViewName = $sViewName.'_'.trim($this->fieldAffiliateValue);
        }

        foreach ($aCallTimeVars as $sKeyName => $sValue) {
            if (!empty($sKeyName)) {
                $oView->AddVar($sKeyName, $sValue);
            }
        }

        $sHTML .= $oView->RenderObjectPackageView($sViewName, $sViewSubType, $sViewType);

        return $sHTML;
    }
616264
public function render()
    {
        $sModuleId = $this->_sModuleId = $this->getEditObjectId();

        $oModule = oxNew(\OxidEsales\Eshop\Core\Module\Module::class);

        if ($sModuleId && $oModule->load($sModuleId)) {
            try {
                $aDbVariables = $this->_loadMetadataConfVars($oModule->getInfo("settings"));

                $this->_aViewData["var_constraints"] = $aDbVariables['constraints'];
                $this->_aViewData["var_grouping"] = $aDbVariables['grouping'];
                $iCount = 0;
                foreach ($this->_aConfParams as $sType => $sParam) {
                    $this->_aViewData[$sParam] = $aDbVariables['vars'][$sType];
                    $variableCount = (is_array($aDbVariables['vars'][$sType])) ? count($aDbVariables['vars'][$sType]) : 0;
                    $iCount += $variableCount;
                }
            } catch (\OxidEsales\Eshop\Core\Exception\StandardException $exception) {
                EshopRegistry::getUtilsView()->addErrorToDisplay($exception);
                EshopRegistry::getLogger()->error($exception->getMessage(), [$exception]);
            }
        } else {
            EshopRegistry::getUtilsView()->addErrorToDisplay(new \OxidEsales\Eshop\Core\Exception\StandardException('EXCEPTION_MODULE_NOT_LOADED'));
        }

        $this->_aViewData["oModule"] = $oModule;

        return 'module_config.tpl';
    }
770081
public function Render($sView = 'simple', $type = 'Core', $aEffects = array(), $bHideNewMarker = false)
    {
        $oView = new TViewParser();

        $oArticle = &$this->GetArticleObject();
        $oArticleSize = &$this->GetImageSizeObject();
        $oImage = &$this->GetImageObject();

        $oView->AddVar('oArticle', $oArticle);
        $oView->AddVar('oImageSize', $oArticleSize);
        $oView->AddVar('oImage', $oImage);
        $oView->AddVar('oPreviewImage', $this);
        $oView->AddVar('bHideNewMarker', $bHideNewMarker);
        $oThumb = $this->GetImageThumbnailObject($aEffects);
        $oView->AddVar('oImageThumbnail', $oThumb);

        return $oView->RenderObjectPackageView($sView, self::VIEW_PATH, $type);
    }
4919
protected function getTemplateVars(TemplateInterface $template)
    {
        $vars = [
            'expected' => $this->match->getExpected(),
            'actual' => $this->match->getActual(),
        ];

        if ($tplVars = $template->getTemplateVars()) {
            $vars = array_merge($vars, $tplVars);
        }

        return $vars;
    }
1029857
protected function &GetAdditionalViewVariables($sViewName, $sViewType)
    {
        $aViewVariables = parent::GetAdditionalViewVariables($sViewName, $sViewType);

        $aUserData = $this->GetUserData();
        if (false == $aUserData) {
            $aUserData = null;
        }
        $aViewVariables['oUserData'] = TdbDataExtranetUser::GetNewInstance($aUserData);

        $aShippingAddress = $this->GetShippingAddressData();
        if (false == $aShippingAddress) {
            $aShippingAddress = null;
        }
        $aViewVariables['oShippingAddress'] = TdbDataExtranetUserAddress::GetNewInstance($aShippingAddress);

        $aBillingAddress = $this->GetBillingAddressData();
        if (false == $aBillingAddress) {
            $aBillingAddress = null;
        }
        $aViewVariables['oBillingAddress'] = TdbDataExtranetUserAddress::GetNewInstance($aBillingAddress);

        $aViewVariables['bShipToBillingAddress'] = $this->GetShipToBillingAddress();

        $aViewVariables['oUser'] = self::getExtranetUserProvider()->getActiveUser();

        $aViewVariables['umode'] = TShopStepUserDataV2::GetUserMode();

        return $aViewVariables;
    }
660814
public function RenderVariantSelection($sViewName = 'vStandard', $sViewType = 'Customer')
    {
        $sHTML = '';
        $oVariantSet = null;
        if ($this->IsVariant()) {
            $oParent = &$this->GetFieldVariantParent();

            $oVariantSet = &$oParent->GetFieldShopVariantSet();
        } else {
            $oVariantSet = &$this->GetFieldShopVariantSet();
        }
        if (!is_null($oVariantSet)) {
            $oHandler = $oVariantSet->GetFieldShopVariantDisplayHandler();
            $sHTML = $oHandler->Render($this, $sViewName, $sViewType);
        }

        return $sHTML;
    }
857578
protected function &GetAdditionalViewVariables($sViewName, $sViewType)
    {
        $aViewVariables = array();

        // generate a captcha
        $this->aUserInput['captcha-question'] = $this->GenerateCaptcha();

        // if no article id is in aInputData, then we fetch it from post/get
        $oArticle = TdbShopArticle::GetNewInstance();
        /** @var $oArticle TdbShopArticle */
        if (!$oArticle->Load($this->aUserInput[MTShopArticleCatalogCore::URL_ITEM_ID])) {
            $oArticle = null;
        }
        $aViewVariables['oArticle'] = &$oArticle;

        $oMsgManager = TCMSMessageManager::GetInstance();

        $aInitInputData = array('name', 'email', 'toname', 'toemail', 'comment', 'captcha');
        $aFieldMessages = array();
        foreach ($aInitInputData as $sField) {
            if (!array_key_exists($sField, $this->aUserInput)) {
                $this->aUserInput[$sField] = '';
            }
            $aFieldMessages[$sField] = false;
            $sConsumerName = 'tell-a-friend-field-'.$sField;
            if ($oMsgManager->ConsumerHasMessages($sConsumerName)) {
                $oMsgs = $oMsgManager->ConsumeMessages($sConsumerName);
                while ($oMsg = &$oMsgs->Next()) {
                    $aFieldMessages[$sField] .= $oMsg->Render();
                }
            }
        }
        $this->aUserInput['captcha'] = '';
        $aViewVariables['aFieldMessages'] = &$aFieldMessages;
        $aViewVariables['aUserInput'] = &$this->aUserInput;

        return $aViewVariables;
    }
561775
public function getPhpdocTypesByVar($reflection, string $tagName): array
    {
        $types = [];

        /** @var Param|Var_ $tag */
        foreach ($this->getTags($reflection, $tagName) as $tag) {
            $type = $this->resolve($reflection, $tag->getType());
            if ($type !== null) {
                $types[$tag->getVariableName() ?? ''] = $type;
            }
        }

        return $types;
    }
1088101
public function getVariables() 
	{
		return array(
			'use_wysiwyg' => $this->wysiwyg,
			'fields' => $this->show,
			'labels' => $this->labels,
			'data' => $this->data,
			'errors' => $this->errors,
			'holders' => $this->holders);
	}
290615
public function getCustomVariablesValuesFromNameId($idSite, $period, $date, $idSubtable, $segment = false, $_leavePriceViewedColumn = false)
    {
        Piwik::checkUserHasViewAccess($idSite);

        $dataTable = $this->getDataTable($idSite, $period, $date, $segment, $expanded = false, $flat = false, $idSubtable);

        if (!$_leavePriceViewedColumn) {
            $dataTable->deleteColumn('price_viewed');
        } else {
            // Hack Ecommerce product price tracking to display correctly
            $dataTable->renameColumn('price_viewed', 'price');
        }

        $dataTable->filter('Piwik\Plugins\CustomVariables\DataTable\Filter\CustomVariablesValuesFromNameId');

        return $dataTable;
    }
291133
public function setView($view)
    {
        if(!($view instanceof KViewInterface))
        {
            if(is_string($view) && strpos($view, '.') === false )
            {
                $identifier			= $this->getIdentifier()->toArray();
                $identifier['path']	= array('view', $view);
                $identifier['name']	= $this->getRequest()->getFormat();

                $identifier = $this->getIdentifier($identifier);
            }
            else $identifier = $this->getIdentifier($view);

            $view = $identifier;
        }

        $this->_view = $view;

        return $this->_view;
    }
517511
protected function GetArticleView($sShopArticleId = null, $sViewName = 'standard', $sViewType = 'Customer', $aCallTimeVars = array())
    {
        $oReturnObject = new stdClass();

        $oArticle = TdbShopArticle::GetNewInstance();
        $oArticle->Load($sShopArticleId);
        if ($oArticle->IsVariant()) {
            TdbShop::RegisterActiveVariantForSpot($this->sCallingSpotName, $oArticle->fieldVariantParentId, $oArticle->id);
        }
        $oReturnObject->sItemPage = $oArticle->Render($sViewName, $sViewType, $aCallTimeVars);
        $sKey = $oArticle->id;
        if ($oArticle->IsVariant()) {
            $sKey = $oArticle->fieldVariantParentId;
        }
        $oReturnObject->iListKey = 'key'.md5($sKey);

        return $oReturnObject;
    }
879513
public function RenderShippingInfo($sViewName, $sViewType, $aCallTimeVars = array())
    {
        $oView = new TViewParser();
        $oView->AddVar('oShop', $this);
        $oShippingIntroText = $this->GetShopInfo('shipping-intro');
        $oShippingEndText = $this->GetShopInfo('shipping-end');
        $oView->AddVar('oShippingIntroText', $oShippingIntroText);
        $oView->AddVar('oShippingEndText', $oShippingEndText);

        // get the shipping list for users not sigend in
        $oPublicShippingGroups = &TdbShopShippingGroupList::GetPublicShippingGroups();
        $oView->AddVar('oPublicShippingGroups', $oPublicShippingGroups);

        $oView->AddVar('aCallTimeVars', $aCallTimeVars);
        $aOtherParameters = $this->GetAdditionalViewVariables($sViewName, $sViewType);
        $oView->AddVarArray($aOtherParameters);

        return $oView->RenderObjectPackageView($sViewName, self::VIEW_PATH, $sViewType);
    }