Newer
Older
* cologne template file
*
* @var QUI\Projects\Project $Project
* @var QUI\Projects\Site $Site
* @var QUI\Interfaces\Template\EngineInterface $Engine
* @var QUI\Template $Template
**/
* Register smarty functions
if (method_exists($Engine, 'getSmarty')) {
$Engine->getSmarty()->registerClass('TemplateCologneUtils', 'QUI\TemplateCologne\Utils');
}
/**
* Emotion
*/
QUI\Utils\Site::setRecursiveAttribute($Site, 'image_emotion');
QUI\Utils\Site::setRecursiveAttribute($Site, 'layout');

Michael Danielczok
committed
/**
* Template config
*/
$templateSettings = QUI\TemplateCologne\Utils::getConfig([
'Project' => $Project,
'Template' => $Template,
'Site' => $Site

Michael Danielczok
committed
]);
* Menu
'data-show-button-on-desktop' => 1,
if (isset($templateSettings['homeLink']) && $templateSettings['homeLink']) {
$menuParams['showStart'] = true;
}
if (isset($templateSettings['homeLinkText']) && $templateSettings['homeLinkText'] !== '') {
$menuParams['startText'] = $templateSettings['homeLinkText'];
}
$enableIndependentMenu = $Project->getConfig('templateCologne.settings.enableIndependentMenu');
$independentMenuId = $Project->getConfig('templateCologne.settings.menuId');
if ($enableIndependentMenu && $independentMenuId) {
$menuParams['menuId'] = $independentMenuId;
$menuParams['showFirstLevelIcons'] = $Project->getConfig('templateCologne.settings.showFirstLevelIcons');
}
// Site own / independent menu
if ($Site->getAttribute('templateCologne.independentMenuId')) {
$menuParams['menuId'] = $Site->getAttribute('templateCologne.independentMenuId');
}
$Menu = new QUI\Menu\MegaMenu($menuParams);

Michael Danielczok
committed
/**
* Basket button
*/
$Currency = QUI\ERP\Currency\Handler::getUserCurrency();
if (!$Currency) {
$Currency = QUI\ERP\Currency\Handler::getDefaultCurrency();
}
$createBasketButton = true;
$simpleSiteTypes = [
'quiqqer/order:types/orderingProcess',
'quiqqer/order:types/shoppingCart',
'quiqqer/order-simple-checkout:types/simpleCheckout',
];
if (in_array($Site->getAttribute('type'), $simpleSiteTypes)) {
$createBasketButton = false;
$Template->setAttribute('content-header', false);
}

Michael Danielczok
committed
$InitialBasketPrice = new QUI\ERP\Money\Price(0, $Currency);
$Logo = $Project->getMedia()->getLogoImage();
$logoHeight = $templateSettings['logoHeight'];

Michael Danielczok
committed
if ($Logo) {
$logoWidth = $Logo->getResizeSize(false, $logoHeight)['width'];
}
} catch (QUI\Exception $Exception) {
QUI\System\Log::addNotice($Exception->getMessage());
}
$templateSettings['Logo'] = $Logo;
$templateSettings['logoHeight'] = $logoHeight;
$templateSettings['logoWidth'] = $logoWidth;

Michael Danielczok
committed
$templateSettings['initialBasketPrice'] = $InitialBasketPrice->getDisplayPrice();

Michael Danielczok
committed
$templateSettings['createBasketButton'] = $createBasketButton;
/* user avatar */
$Avatar = new QUI\FrontendUsers\Controls\UserIcon([

Michael Danielczok
committed
'showLogout' => false, // template cologne use own logout popup (see bin/javascript/init.js)
'User' => QUI::getUserBySession()
/* product page - for layouts */
$productPage = false;
switch ($Site->getAttribute('type')) {
case 'quiqqer/products:types/category':

Michael Danielczok
committed
case 'quiqqer/productsearch:types/search':
/**
* Flags
*/
$Flags = new QUI\Bricks\Controls\LanguageSwitches\Flags([
'showText' => true,
'all' => true

Michael Danielczok
committed

Michael Danielczok
committed
* Langguage and currency swtich

Michael Danielczok
committed
//$LangCurrencySwitch = new \QUI\TemplateCologne\Controls\LangCurrencySwitch();
$LangCurrencySwitch = null;
/**
* Sign up / registration page
*/
$registerSiteUrl = false;
'quiqqer/frontend-users:types/registrationSignUp',
'quiqqer/frontend-users:types/registration',
];
$registerSite = $Project->getSites([
'where' => [
'type' => [
'type' => 'IN',
]
],
'limit' => 1
]);
if (count($registerSite)) {
$registerSiteUrl = $registerSite[0]->getUrlRewritten();
}
$templateSettings['BricksManager'] = QUI\Bricks\Manager::init();
$templateSettings['Project'] = $Project;
$templateSettings['Menu'] = $Menu;
$templateSettings['Avatar'] = $Avatar;
$templateSettings['productPage'] = $productPage;
$templateSettings['Flags'] = $Flags;
$templateSettings['LangCurrencySwitch'] = $LangCurrencySwitch;
$templateSettings['countLanguages'] = \count($Project->getLanguages());
$templateSettings['Search'] = new QUI\ERP\Products\Search\Controls\Suggest([

Michael Danielczok
committed
'globalsearch' => true
$templateSettings['registerSiteUrl'] = $registerSiteUrl;
$Template->setAttributes($templateSettings);

Michael Danielczok
committed
$Engine->assign($templateSettings);