Skip to content
Code-Schnipsel Gruppen Projekte
Commit f320ce5c erstellt von Michael Danielczok's avatar Michael Danielczok
Dateien durchsuchen

feat: Button basket and language switch optimized (performance, no "jump" effect).

Übergeordneter c6a72419
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -855,7 +855,6 @@ a.toTop:before {
}
/* user & basket container */
.cologne-header-control {
align-items: center;
display: flex;
......@@ -868,6 +867,21 @@ a.toTop:before {
width: 200px;
}
.quiqqer-order-basketButton {
cursor: pointer;
padding-right: 5px;
position: relative;
}
/* fix: without it jumping effect */
/* todo bei Gelegenheit das fixen. Oder Basket Button wird php-seitig erstellt */
/* dann wird das unnötigt */
.tpl-btn.quiqqer-order-basketButton {
display: flex;
align-items: center;
}
/* end fix */
.tpl-btn.quiqqer-order-basketButton {
background: none;
border: 1px solid #ddd;
......@@ -894,6 +908,11 @@ a.toTop:before {
.basket-style-full .quiqqer-order-basketButton-sum {
border-left: 1px solid #ddd;
padding-left: 10px;
min-width: 80px;
}
.tpl-btn.quiqqer-order-basketButton .quiqqer-order-basketButton-quantity {
margin-right: 20px;
}
/* style: compact */
......
......@@ -133,7 +133,7 @@ window.addEvent('domready', function () {
'package/quiqqer/order/bin/frontend/controls/basket/Button'
], function (Basket) {
new Basket({
open : basketOpen.toInt(),
open : BASKET_OPEN.toInt(),
styles: {
float: 'right'
},
......@@ -142,8 +142,8 @@ window.addEvent('domready', function () {
var BasketNode = Basket.getElm(),
basketStyleCss = '';
if (basketStyle) {
basketStyleCss = 'basket-style-' + basketStyle;
if (BASKET_STYLE) {
basketStyleCss = 'basket-style-' + BASKET_STYLE;
}
// clear default content
......@@ -160,13 +160,14 @@ window.addEvent('domready', function () {
html : '0'
}).inject(BasketNode);
if (basketStyle && basketStyle === 'full') {
if (BASKET_STYLE && BASKET_STYLE === 'full') {
new Element('span', {
'class': 'quiqqer-order-basketButton-sum',
html : '---',
styles : {}
html : INITAL_BASKET_PRICE
}).inject(BasketNode);
}
document.getElement('.cologne-header-control-basket').set('html', '');
},
/**
* onShowBasketBegin event
......
......@@ -27,9 +27,10 @@
{$settingsCSS}
<script>
var basketStyle = "{$basketStyle}";
var basketOpen = "{$basketOpen}";
var COUNT_LANGUAGES = "{$countLanguages}";
var BASKET_STYLE = "{$basketStyle}";
var BASKET_OPEN = "{$basketOpen}";
var INITAL_BASKET_PRICE = "{$initialBasketPrice}";
var COUNT_LANGUAGES = "{$countLanguages}";
</script>
</head>
......
......@@ -7,6 +7,14 @@
QUI\Utils\Site::setRecursiveAttribute($Site, 'image_emotion');
QUI\Utils\Site::setRecursiveAttribute($Site, 'layout');
/**
* Template config
*/
$templateSettings = QUI\TemplateCologne\Utils::getConfig([
'Project' => $Project,
'Site' => $Site,
]);
/**
* Header
*/
......@@ -16,13 +24,27 @@
'Project' => $Site->getProject()
]);
// header logo
/**
* Basket button
*/
$EngineForMenu = QUI::getTemplateManager()->getEngine();
$Currency = QUI\ERP\Currency\Handler::getUserCurrency();
if (!$Currency) {
$Currency = QUI\ERP\Currency\Handler::getDefaultCurrency();
}
$InitialBasketPrice = new QUI\ERP\Money\Price(0, $Currency);
$EngineForMenu->assign([
'Logo' => $Project->getMedia()->getLogoImage()
'Logo' => $Project->getMedia()->getLogoImage(),
'basketStyle' => $templateSettings['basketStyle'],
'InitialBasketPrice' => $InitialBasketPrice
]);
$templateSettings['initialBasketPrice'] = $InitialBasketPrice->getDisplayPrice();
$Menu->prependHTML($EngineForMenu->fetch(\dirname(__FILE__) . '/template/menu/menuPrefix.html'));
$Menu->appendHTML($EngineForMenu->fetch(\dirname(__FILE__) . '/template/menu/menuSuffix.html'));
......@@ -51,15 +73,6 @@
'all' => true
]);
/**
* Template config
*/
$templateSettings = QUI\TemplateCologne\Utils::getConfig([
'Project' => $Project,
'Site' => $Site,
'Template' => $Template
]);
/**
* Lang currency swtich control
......
......@@ -68,19 +68,15 @@ public static function getConfig($params)
try {
return QUI\Cache\Manager::get(
'quiqqer/templateCologne/'.$Site->getId()
'quiqqer/templateCologne/' . $Site->getId()
);
} catch (QUI\Exception $Exception) {
}
$config = [];
/* @var $Project QUI\Projects\Project */
/* @var $Template QUI\Template() */
/* @var $Template QUI\Template() */
$Project = $params['Project'];
$Template = $params['Template'];
$Project = $params['Project'];
/**
* no header?
......@@ -178,21 +174,19 @@ public static function getConfig($params)
// predefined footer
$config += self::getPredefinedFooter($Project);
$config += [
'header' => $header,
'pageTitle' => $pageTitle,
'showBreadcrumb' => $showBreadcrumb,
'settingsCSS' => '<style>'.$settingsCSS.'</style>',
'typeClass' => 'type-'.str_replace(['/', ':'], '-', $Site->getAttribute('type')),
'siteType' => $siteType,
'basketStyle' => $basketStyle,
'basketOpen' => $basketOpen,
'showCategoryMenu' => $showCategoryMenu
];
$config['header'] = $header;
$config['pageTitle'] = $pageTitle;
$config['showBreadcrumb'] = $showBreadcrumb;
$config['settingsCSS'] = '<style>' . $settingsCSS . '</style>';
$config['typeClass'] = 'type-' . str_replace(['/', ':'], '-', $Site->getAttribute('type'));
$config['siteType'] = $siteType;
$config['basketStyle'] = $basketStyle;
$config['basketOpen'] = $basketOpen;
$config['showCategoryMenu'] = $showCategoryMenu;
// set cache
QUI\Cache\Manager::set(
'quiqqer/templateCologne/'.$Site->getId(),
'quiqqer/templateCologne/' . $Site->getId(),
$config
);
......
<div class="cologne-header-control">
<div class="cologne-header-control-basket"></div>
<div class="cologne-header-control-basket">
{if $basketStyle == 'compact'}
<button disabled class="quiqqer-order-basketButton button--callToAction tpl-btn basket-style-{$basketStyle}"
data-quiid="jyr6toys" style="float: right;"><span class="quiqqer-order-basketButton-icon-custom"><span
class="fa fa-shopping-basket"></span></span><span
class="quiqqer-order-basketButton-quantity quiqqer-order-basketButton-batch-custom">0</span></button>
{else}
<button disabled class="quiqqer-order-basketButton button--callToAction tpl-btn basket-style-full" data-quiid="jyr7g3hr"
style="float: right;">
<span class="quiqqer-order-basketButton-icon-custom">
<span class="fa fa-shopping-basket"></span>
</span>
<span class="quiqqer-order-basketButton-quantity quiqqer-order-basketButton-batch-custom">0</span>
<span class="quiqqer-order-basketButton-sum">
{$InitialBasketPrice->getDisplayPrice()}
</span>
</button>
{/if}
</div>
</div>
\ No newline at end of file
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren