diff --git a/bin/css/form.css b/bin/css/form.css index 1b03f6818756e6dd2bc2972c4b09a897b4adbc38..2174eecfd827c5620a9ecd844e44a897252bd5e1 100644 --- a/bin/css/form.css +++ b/bin/css/form.css @@ -1,26 +1,53 @@ select, input, input[type="text"], -input[type="email"] { +input[type="email"], +textarea { background: #fff; border: 1px solid #c9c8c5; border-radius: 0.25rem; - height: 40px; + font-family: 'Maven Pro', Verdana, sans-serif; line-height: 40px; outline: none; padding: 0 10px; - font-family: 'Maven Pro', Verdana, sans-serif; +} + +input[type="text"]:hover, +input[type="text"]:focus, +input[type="password"]:hover, +input[type="password"]:focus { + border-color: #a9a8a5; +} + +.quiqqer-simple-contact label { + margin: 10px 0; +} + +.quiqqer-simple-contact input[type="checkbox"], +.quiqqer-simple-contact input[type="radio"] { + margin-bottom: 0; +} + +.quiqqer-simple-contact label > * { + vertical-align: middle; +} + +.quiqqer-simple-contact button { + margin-top: 1rem; } ::-webkit-input-placeholder { /* Chrome/Opera/Safari */ color: #99a6b5; } + ::-moz-placeholder { /* Firefox 19+ */ color: #99a6b5; } + :-ms-input-placeholder { /* IE 10+ */ color: #99a6b5; } + :-moz-placeholder { /* Firefox 18- */ color: #99a6b5; } @@ -49,12 +76,6 @@ div.qui-select .drop-icon { height: inherit; } -input[type="text"]:focus, -input[type="password"]:focus { - background: #f5f5f5; - border-color: #a9a8a5; -} - select { padding: 10px; } @@ -68,11 +89,12 @@ input[type="checkbox"] { border-radius: 0.25rem; display: inline-block; height: 12px; + line-height: initial; + margin-bottom: 0; margin-right: 10px; outline: none; padding: 9px; position: relative; - line-height: initial; } input[type="checkbox"]:checked { @@ -110,11 +132,13 @@ input[type="radio"] { border-radius: 50px; display: inline-block; height: 12px; + margin-bottom: 0; margin-right: 10px; outline: none; padding: 9px; position: relative; } + input[type="radio"]:after { background: #99a1a7; border-radius: 50px; @@ -125,9 +149,9 @@ input[type="radio"]:after { position: absolute; text-shadow: none; top: 3px; - width: 12px; + transform: scale(0); transition: 0.3s all; - transform: scale(0) + width: 12px; } @@ -164,4 +188,41 @@ input[type="radio"]:checked:active { .form-group { margin-bottom: 1rem; width: 100%; +} + +/*******************/ +/* quiqqer/contact */ +/*******************/ +fieldset { + border: none; +} + +.qui-formfield { + margin-bottom: 1.5rem; +} + +.qui-form legend { + background: none; + font-size: 1rem; +} + +.qui-formfield-body { + padding: 0; +} + +.qui-formfield-body label > * { + vertical-align: middle; +} + +.qui-formfield-body > input { + margin-bottom: 0; +} + +.qui-formfield-body label { + margin-right: 1rem; +} + +.qui-form input[type="submit"] { + margin: 1rem 0 0 0; + width: auto; } \ No newline at end of file diff --git a/bin/css/frontend-users.css b/bin/css/frontend-users.css index e65ced72f461527d98e660575a7d17334297f6f8..fa9294544bf7317141b2053647304d8c8fb7f296 100644 --- a/bin/css/frontend-users.css +++ b/bin/css/frontend-users.css @@ -1,10 +1,10 @@ .templateCologne-frontendUsers-profile-container-login { - margin-top: 2rem; margin-bottom: 2rem; + margin-top: 2rem; } .quiqqer-frontend-users-address-description-button { - max-width: 100% !important; + max-width: 100% !important; } /********************/ @@ -21,9 +21,9 @@ } .quiqqer-frontendUsers-profile-container { - margin-top: 2rem; - margin-bottom: 2rem; display: flex; + margin-bottom: 2rem; + margin-top: 2rem; } .quiqqer-frontendUsers-controls-profile .quiqqer-frontendUsers-controls-profile-categories { @@ -131,7 +131,7 @@ } .quiqqer-frontendUsers-userdata-section, .quiqqer-frontendUsers-userdata-address, .quiqqer-frontendUsers-userdata-address-additional { - max-width: 100% !important; + max-width: 100% !important; } .quiqqer-frontend-users-address header, @@ -215,11 +215,11 @@ } .quiqqer-fu-login-container { - position: relative; - width: 100%; - max-width: 400px; background: #f8f8f8; border: 1px solid #ddd; + max-width: 400px; + position: relative; + width: 100%; } @media screen and (max-width: 767px) { @@ -232,14 +232,41 @@ /* reset password */ /******************/ .quiqqer-fu-login-container .quiqqer-fu-login-forget-password-reset [name="cancel"] { - color: inherit; - border: none; - padding: 0; background: none; - position: initial; + border: none; + color: inherit; float: right; margin-top: 1rem; + padding: 0; + position: initial; } + .quiqqer-fu-login-container .quiqqer-fu-login-forget-password-reset [type="submit"] { margin-top: 1rem; +} + +/*******************/ +/* Login site type */ +/*******************/ + +.loginAndRegister .quiqqer-fu-login-forget-password-link { + margin-bottom: 1rem; +} + +.loginAndRegister-register .quiqqer-fu-registrationSignUp-registration-content { + align-items: center; + border: 1px solid #ddd; + height: 100%; + margin: 0 auto; + max-width: 400px; + overflow: hidden; +} + +.loginAndRegister .quiqqer-fu-login-forget-password-reset { + padding: 1.5rem 2rem; + background: #f8f8f8; +} + +.quiqqer-fu-registrationSignUp-terms-text [name="decline"] { + right: 0 !important; } \ No newline at end of file diff --git a/bin/css/mini-basket.css b/bin/css/mini-basket.css index 1b26ddc46ee5152ad5446bb871e0606875a390c8..84052c5d2bc365873300c1fc7a55f993dd3d14f4 100644 --- a/bin/css/mini-basket.css +++ b/bin/css/mini-basket.css @@ -111,4 +111,14 @@ body.header-fixed .quiqqer-order-basket-small-container { .quiqqer-order-basket-small-buttons .open-shopping-cart { margin-right: 1rem; +} + +/*********************/ +/* payments - paypal */ +/*********************/ +.quiqqer-order-basket-small-container .quiqqer-payment-paypal-express { + margin-top: 15px; + text-align: right; + width: 100%; + height: auto; } \ No newline at end of file diff --git a/bin/css/order.css b/bin/css/order.css index 5859b1adb3851e6451b0cdd7fa4fa201fc0e7964..c9a8256096e63d818cf74a7056234d65a448e31b 100644 --- a/bin/css/order.css +++ b/bin/css/order.css @@ -25,18 +25,18 @@ } .quiqqer-order-basket-articles td { + border: none; padding-bottom: 10px; vertical-align: top; - border: none; } .quiqqer-order-basket-articles th { background: #f8f8f8; border-bottom: 1px solid #ddd; + border-left: none; border-top: 1px solid #ddd; padding: 5px 10px; width: 10px; - border-left: none; } th.quiqqer-order-basket-articles-header-pos { @@ -75,8 +75,8 @@ th.quiqqer-order-basket-articles-header-pos { .quiqqer-order-basket-articles-article-quantity input { height: 30px; line-height: 30px; - width: 100px; text-align: right; + width: 100px; } .quiqqer-order-basket-articles-unitPrice { @@ -84,15 +84,15 @@ th.quiqqer-order-basket-articles-header-pos { } td.quiqqer-order-basket-articles-article-remove { + padding-right: 0; text-align: right; width: 60px; - padding-right: 0; } .quiqqer-order-basket-articles-article-remove button { - color: inherit; background: none; border-color: transparent; + color: inherit; padding: 0 10px; } @@ -131,13 +131,13 @@ td.quiqqer-order-basket-articles-article-remove button:hover { } .quiqqer-order-basket-total { + background: #f8f8f8; + border: 1px solid #ddd; float: right; margin-top: 20px; + padding: 5px 10px; text-align: right; width: 100%; - background: #f8f8f8; - border: 1px solid #ddd; - padding: 5px 10px; } .quiqqer-order-basket-total td { @@ -180,13 +180,13 @@ td.quiqqer-order-basket-articles-article-remove button:hover { input.quiqqer-coupons-couponcodeinput-input:hover, input.quiqqer-coupons-couponcodeinput-input:focus, input.quiqqer-coupons-couponcodeinput-input:active { - border-color: #28a745; background: #fff; + border-color: #28a745; } .btn.quiqqer-coupons-couponcodeinput-btn { - border-color: #28a745; background: #fff; + border-color: #28a745; color: #28a745; } @@ -202,6 +202,11 @@ input.quiqqer-coupons-couponcodeinput-input:active { } } +.quiqqer-order-basket-articles-article-productno { + color: #adadad; + font-size: 12px; +} + /***********************/ /* step: customer data */ /***********************/ @@ -274,8 +279,8 @@ input.quiqqer-coupons-couponcodeinput-input:active { .quiqqer-order-customerData-container .quiqqer-order-customerData, .quiqqer-order-customerData-container .quiqqer-order-customerData-comment { - width: 100%; max-width: 100%; + width: 100%; } .quiqqer-order-customerData { @@ -435,14 +440,14 @@ input.quiqqer-coupons-couponcodeinput-input:active { } .quiqqer-order-basket-end .quiqqer-coupons-couponcodeinput { + flex-direction: column; padding: 0; text-align: left; - flex-direction: column; } .quiqqer-order-basket-end .quiqqer-coupons-couponcodeinput input { - width: 100%; margin-bottom: 1rem; + width: 100%; } .quiqqer-coupons-couponcodeinput label span { @@ -471,19 +476,19 @@ input.quiqqer-coupons-couponcodeinput-input:active { table.articles-article { border-bottom: none; border-spacing: 0; + margin: 4rem 0 0; padding-bottom: 0 !important; width: 100%; - margin: 4rem 0 0; } .articles-article td { + border: none; padding: 10px; - vertical-align: top; text-align: right; - border: none; + vertical-align: top; } -.articles-article-information-title { +td.articles-article-information { text-align: left; } @@ -495,11 +500,11 @@ table.articles-article { .articles-article-header th { background: #f8f8f8; border-bottom: 1px solid #ddd; + border-left: none; border-top: 1px solid #ddd; padding: 5px 10px; - width: 10px; text-align: right; - border-left: none; + width: 10px; } th.articles-article-header-information { @@ -529,21 +534,21 @@ th.articles-article-header-information { } .quiqqer-order-step-checkout-notice label { - display: flex; - padding: 10px; background: #f8f8f8; border: 1px solid #ddd; cursor: pointer; + display: flex; + padding: 10px; } .articles-sum { + background: #f8f8f8; + border: 1px solid #ddd; float: right; margin-top: 20px; + padding: 5px 10px; text-align: right; width: 100%; - background: #f8f8f8; - border: 1px solid #ddd; - padding: 5px 10px; } table.articles-sum td { @@ -577,11 +582,23 @@ table.articles-sum td { /**********************/ /* step: order (last) */ /**********************/ +.quiqqer-order-control-orderLikeBasket .quiqqer-order-control-order-information-orderData-table { + background: #f8f8f8; + border: 1px solid #ddd; + padding: 5px 10px; + width: 100% !important; +} + .quiqqer-order-control-orderLikeBasket .quiqqer-order-control-order-total td { + border: none; padding-bottom: 5px; text-align: right; } +.quiqqer-order-control-orderLikeBasket .quiqqer-order-control-order-total td:last-child { + width: 150px; +} + .quiqqer-order-control-order-information-orderData-subSum-text, .quiqqer-order-control-order-information-orderData-subSum-value { border-bottom: 1px solid #999999; diff --git a/bin/css/products.css b/bin/css/products.css index 87442456b4016be1fec48bb3eda88407163ff47d..1160b2b01fead83d4c5d2445e345ea70a849b8c0 100644 --- a/bin/css/products.css +++ b/bin/css/products.css @@ -1,3 +1,8 @@ +.qui-products-price-display-vat { + font-size: 0.75rem; + font-weight: normal; +} + .quiqqer-products-wrapper { align-items: flex-start; display: flex; @@ -193,7 +198,7 @@ .cologne-products-categoryGallery-categories { display: grid; grid-gap: 20px; - grid-template-columns: 1fr 1fr 1fr; + grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-bottom: 40px; width: 100%; } @@ -460,7 +465,7 @@ .quiqqer-product-list[data-qui-options-view="gallery"] .quiqqer-products-productList-products-container-real { display: grid; grid-gap: 20px; - grid-template-columns: 1fr 1fr 1fr; + grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); width: 100%; } @@ -511,17 +516,14 @@ .cologne-products-productGallery-products-product-price { font-weight: bold; - margin: 1em 0; + margin: auto 0 1em; + text-align: center; } .cologne-products-productGallery-products-product-price .qui-products-price-display { display: inline; } -.quiqqer-products-control-product-childrenslider-entry-productButtons { - margin-top: auto; -} - @media screen and (max-width: 767px) { .quiqqer-products-control-product-childrenslider-entry-productButtons { width: 100%; @@ -542,16 +544,6 @@ text-overflow: initial; white-space: initial; } - - .quiqqer-product-list[data-qui-options-view="gallery"] .quiqqer-products-productList-products-container-real { - grid-template-columns: 1fr 1fr; - } -} - -@media screen and (max-width: 450px) { - .quiqqer-product-list[data-qui-options-view="gallery"] .quiqqer-products-productList-products-container-real { - grid-template-columns: auto; - } } /* product list: details */ @@ -613,6 +605,9 @@ display: inline; } +.cologne-productList-product-details-content-price .candyman-qui-products-price-display { + display: inline; +} .cologne-productList-product-details-content-buttons { border-top: 1px solid #ddd; @@ -639,6 +634,11 @@ .cologne-productList-product-details-content-buttons .btn { display: block; + margin-bottom: 1rem; + } + + .cologne-productList-product-details-content-buttons .btn:last-child { + margin-bottom: 0; } } @@ -1054,7 +1054,7 @@ li.product-data-more-tabs-tab.active { box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } -.quiqqer-product-card-content-data, -.qui-products-price-display-vat { +.quiqqer-product-card-content-data { font-size: 0.75rem; + font-weight: normal; } \ No newline at end of file diff --git a/bin/css/style.css b/bin/css/style.css index cd3ebb7f2ee5b5fdb2b316b023a96c7ee72f1e93..ed43918442441a55d0b73c8d9a24d31d635bca0d 100644 --- a/bin/css/style.css +++ b/bin/css/style.css @@ -1435,6 +1435,15 @@ a.toTop:before { margin: 0 auto 30px !important; } +/* sing up / registration in link */ +.login-popup-create-account-wrapper { + position: absolute; + bottom: 10px; + width: 100%; + left: 0; + text-align: center; +} + /** Product Children Slider (horizontal) ===================================== */ .quiqqer-bricks-children-slider-container-wrapper .quiqqer-bricks-children-slider-container, diff --git a/bin/javascript/init.js b/bin/javascript/init.js index 3e2f875d84f027e4c0a803b013216b4c7ce6333a..9640de53c501ad5e40e2f096dd63f1835ac15c77 100644 --- a/bin/javascript/init.js +++ b/bin/javascript/init.js @@ -415,14 +415,34 @@ function createLogoutWindow (LogoutWindow) { */ function createLoginWindow () { require([ + 'Locale', + 'utils/Controls', 'package/quiqqer/frontend-users/bin/frontend/controls/login/Window' - ], function (LoginWindow) { + ], function (QUILocale, QUIControlUtils, LoginWindow) { new LoginWindow({ class : 'cologne-login-dialog', title : false, - maxHeight: 500, + maxHeight: 550, maxWidth : 400, events : { + onOpen : function (LoginWindow) { + if (!REGISTER_URL) { + return; + } + + var Elm = LoginWindow.getElm(); + + var CreateAccountWrapper = new Element('div', { + 'class': 'login-popup-create-account-wrapper' + }); + + new Element('a', { + href: REGISTER_URL, + html: QUILocale.get('quiqqer/template-cologne', 'template.popup.login.registration.button'), + }).inject(CreateAccountWrapper); + + CreateAccountWrapper.inject(Elm.getElement('.qui-window-popup-content')); + }, onSuccess: function () { window.location.reload(); } diff --git a/index.html b/index.html index 1dceb9ea4a48d61cb1a36fc6421df023ccb7aa12..5eda164a5a19bfbb34ab308255c7947a1d6ab9a0 100644 --- a/index.html +++ b/index.html @@ -33,6 +33,7 @@ var INITAL_BASKET_PRICE = "{$initialBasketPrice}"; var COUNT_LANGUAGES = "{$countLanguages}"; var SHOW_CATEGORY_MENU = "{$showCategoryMenu}"; + var REGISTER_URL = "{$registerSiteUrl}"; </script> </head> diff --git a/index.php b/index.php index 16a001eca27607b0ce97dd8b1a558356c69c14c0..c39e754242fc82219f9bb50b666d502a737f941b 100644 --- a/index.php +++ b/index.php @@ -77,6 +77,22 @@ */ $LangCurrencySwitch = new \QUI\TemplateCologne\Controls\LangCurrencySwitch(); +/** + * Sign up / registration page + */ +$registerSiteUrl = false; +$registerSite = $Project->getSites([ + 'where' => [ + 'type' => [ + 'value' => 'quiqqer/template-cologne:types/registration' + ] + ], + 'limit' => 1 +]); + +if (count($registerSite)) { + $registerSiteUrl = $registerSite[0]->getUrlRewritten(); +} // array to assign $templateSettings['BricksManager'] = QUI\Bricks\Manager::init(); @@ -90,5 +106,7 @@ $templateSettings['Search'] = new QUI\ERP\Products\Controls\Search\Suggest([ 'globalsearch' => true ]); +$templateSettings['registerSiteUrl'] = $registerSiteUrl; + $Engine->assign($templateSettings); diff --git a/locale.xml b/locale.xml index 6a1a2ee2ee447477f7f39b60a7d367146a3aa3cc..5d7b5ebb44712e2d92d9d3e352563dbef2a91ff1 100644 --- a/locale.xml +++ b/locale.xml @@ -625,6 +625,32 @@ <de><![CDATA[Produkte durchsuchen]]></de> <en><![CDATA[Search products]]></en> </locale> + <locale name="template.basket.small.otherPaymentMethodsSpacer" html="true"> + <de><![CDATA[- oder -]]></de> + <en><![CDATA[- or -]]></en> + </locale> + + <!-- site types --> + <locale name="admin.types.registration"> + <de><![CDATA[Registrierung]]></de> + <en><![CDATA[Registration]]></en> + </locale> + <locale name="admin.types.setting.registration"> + <de><![CDATA[Registrierung]]></de> + <en><![CDATA[Registration]]></en> + </locale> + <locale name="quiqqer.settings.registration.contentPos"> + <de><![CDATA[Wo soll der Seiteninhalt angezeigt werden?]]></de> + <en><![CDATA[Where should the page content be displayed?]]></en> + </locale> + <locale name="quiqqer.settings.registration.contentPos.nextToRegistrationForm"> + <de><![CDATA[Neben dem Registrierungsformular]]></de> + <en><![CDATA[Next to the registration form]]></en> + </locale> + <locale name="quiqqer.settings.registration.contentPos.beforeRegistrationForm"> + <de><![CDATA[Vor dem Registrierungsformular]]></de> + <en><![CDATA[Before the registration form]]></en> + </locale> </groups> @@ -633,6 +659,11 @@ <de><![CDATA[Abmelden]]></de> <en><![CDATA[Logout]]></en> </locale> + + <locale name="template.popup.login.registration.button"> + <de><![CDATA[Kundenkonto anlegen]]></de> + <en><![CDATA[Create account]]></en> + </locale> </groups> </locales> \ No newline at end of file diff --git a/quiqqer/order/src/QUI/ERP/Order/Controls/Basket/Small.html b/quiqqer/order/src/QUI/ERP/Order/Controls/Basket/Small.html index 477917169f72abbe34afb6ca4dd12a28156c37f7..5b104b4a36d19e9be7bda7c6a9c7c65d9c69b9f1 100644 --- a/quiqqer/order/src/QUI/ERP/Order/Controls/Basket/Small.html +++ b/quiqqer/order/src/QUI/ERP/Order/Controls/Basket/Small.html @@ -1,3 +1,5 @@ +{template_event name="quiqqer::order::basketSmall::begin" Basket=$Basket} + <div class="quiqqer-order-basket-small-articles"> {assign var=pos value=1} {foreach $products as $product} @@ -42,6 +44,8 @@ {/foreach} </div> +{template_event name="quiqqer::order::basketSmall::middle" Basket=$Basket} + <table class="quiqqer-order-basket-small-total"> <tr class="quiqqer-order-basket-small-total-subSum"> <td class="quiqqer-order-basket-small-total-firstCell"> @@ -96,6 +100,8 @@ </tr> </table> +{template_event name="quiqqer::order::basketSmall::beforeCheckoutButton" Basket=$Basket} + <div class="quiqqer-order-basket-small-buttons"> <a href="{$shoppingCartUrl}" class="open-shopping-cart btn btn-light"> {locale group="quiqqer/order" var="control.basket.small.shoppingCart.button"} @@ -104,4 +110,14 @@ <a href="{$checkoutUrl}" class="open-checkout btn btn-success"> {locale group="quiqqer/order" var="control.basket.small.buy.button"} </a> -</div> \ No newline at end of file +</div> + +{template_event name="quiqqer::order::basketSmall::end" Basket=$Basket} + +<style> + .quiqqer-order-basket-small-buttons + *:before { + content: '{locale group="quiqqer/template-cologne" var="template.basket.small.otherPaymentMethodsSpacer"}'; + margin: 0 0 15px; + display: block; + } +</style> \ No newline at end of file diff --git a/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListDetails.html b/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListDetails.html index 7efb491641ed39ca3817d1d0a8d38254ad86228e..eff7e4c40ce7b3d06e8849a7a62df65270bdfa05 100644 --- a/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListDetails.html +++ b/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListDetails.html @@ -24,7 +24,7 @@ price={control control="QUI\ERP\Products\Controls\Price" Price=$Product->getPrice()} } {else} - {control control="QUI\ERP\Products\Controls\Price" Price=$Product->getPrice()} + {$Product->getPriceDisplay()->create()} {/if} </div> {/if} diff --git a/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListGallery.html b/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListGallery.html index c328eb77c5f5ed827ad26d0c1d4c473acfddf533..7ef89d2fd7bf0990da35e169032a46c40ec535b7 100644 --- a/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListGallery.html +++ b/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListGallery.html @@ -19,11 +19,11 @@ price={control control="QUI\ERP\Products\Controls\Price" Price=$Product->getPrice()} } {else} - {control control="QUI\ERP\Products\Controls\Price" Price=$Product->getPrice()} + {$Product->getPriceDisplay()->create()} {/if} </span> - <div class="product-buttons"> + <div class="cologne-products-productGallery-products-product-buttons"> {template_event name="quiqqer::product-event::slider::buttonAddToCart" Product=$Product} <!--<a href="" class="btn btn-link add-to-card">Add to wish list</a>--> {if QUI\ERP\Products\Utils\Products::isVariant($Product)} diff --git a/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListList.html b/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListList.html index ec344c937233880fe980b3e4a5df45223e165f50..032b3aa729165c2aad75e860f76aba6b9121fd46 100644 --- a/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListList.html +++ b/quiqqer/products/src/QUI/ERP/Products/Controls/Category/ProductListList.html @@ -50,7 +50,7 @@ price={control control="QUI\ERP\Products\Controls\Price" Price=$Product->getPrice()} } {else} - {control control="QUI\ERP\Products\Controls\Price" Price=$Product->getPrice()} + {$Product->getPriceDisplay()->create()} {/if} </div> {/if} diff --git a/site.xml b/site.xml index b488d4ac1d2a58cded6cd71ae342c4c6066edc76..27da728ebd2d20d8879a2e70d5f0878dd0998a9d 100644 --- a/site.xml +++ b/site.xml @@ -59,52 +59,91 @@ <layout type="layout/startPage" image="bin/layouts/startPage.png"> <title> - <locale group="quiqqer/template-cologne" var="admin.layout.startpage" /> + <locale group="quiqqer/template-cologne" var="admin.layout.startpage"/> </title> <description> - <locale group="quiqqer/template-cologne" var="admin.layout.startpage.desc" /> + <locale group="quiqqer/template-cologne" var="admin.layout.startpage.desc"/> </description> </layout> <layout type="layout/noSidebar" image="bin/layouts/noSidebar.png"> <title> - <locale group="quiqqer/template-cologne" var="admin.layout.noSidebar" /> + <locale group="quiqqer/template-cologne" var="admin.layout.noSidebar"/> </title> <description> - <locale group="quiqqer/template-cologne" var="admin.layout.noSidebar.desc" /> + <locale group="quiqqer/template-cologne" var="admin.layout.noSidebar.desc"/> </description> </layout> <layout type="layout/noSidebarThin" image="bin/layouts/noSidebarThin.png"> <title> - <locale group="quiqqer/template-cologne" var="admin.layout.noSidebarThin" /> + <locale group="quiqqer/template-cologne" var="admin.layout.noSidebarThin"/> </title> <description> - <locale group="quiqqer/template-cologne" var="admin.layout.noSidebarThin.desc" /> + <locale group="quiqqer/template-cologne" var="admin.layout.noSidebarThin.desc"/> </description> </layout> <layout type="layout/leftSidebar" image="bin/layouts/leftSidebar.png"> <title> - <locale group="quiqqer/template-cologne" var="admin.layout.leftSidebar" /> + <locale group="quiqqer/template-cologne" var="admin.layout.leftSidebar"/> </title> <description> - <locale group="quiqqer/template-cologne" var="admin.layout.leftSidebar.desc" /> + <locale group="quiqqer/template-cologne" var="admin.layout.leftSidebar.desc"/> </description> </layout> <layout type="layout/rightSidebar" image="bin/layouts/rightSidebar.png"> <title> - <locale group="quiqqer/template-cologne" var="admin.layout.rightSidebar" /> + <locale group="quiqqer/template-cologne" var="admin.layout.rightSidebar"/> </title> <description> - <locale group="quiqqer/template-cologne" var="admin.layout.rightSidebar.desc" /> + <locale group="quiqqer/template-cologne" var="admin.layout.rightSidebar.desc"/> </description> </layout> </layouts> + <!-- types --> + <types> + <!-- user register --> + <type type="types/registration" icon="fa fa-user-plus"> + <locale group="quiqqer/template-cologne" var="admin.types.registration"/> + + <!-- extra attributes --> + <attributes> + <attribute default="nextToRegistrationForm">quiqqer.settings.registration.contentPos</attribute> + </attributes> + + <settings> + <category name="registration-settings"> + <settings> + <title> + <locale group="quiqqer/template-cologne" var="admin.types.setting.registration"/> + </title> + + <select conf="quiqqer.settings.registration.contentPos"> + <text> + <locale group="quiqqer/template-cologne" + var="quiqqer.settings.registration.contentPos"/> + </text> + <option value="nextToRegistrationForm"> + <locale group="quiqqer/template-cologne" + var="quiqqer.settings.registration.contentPos.nextToRegistrationForm" + /> + </option> + <option value="beforeRegistrationForm"> + <locale group="quiqqer/template-cologne" + var="quiqqer.settings.registration.contentPos.beforeRegistrationForm" + /> + </option> + </select> + </settings> + </category> + </settings> + </type> + </types> </site> diff --git a/src/QUI/TemplateCologne/Utils.php b/src/QUI/TemplateCologne/Utils.php index 5ad0577315403d93035c345b792c8539e1cb0584..78ae70759b9e4b2766a94ad61a6fa4f4ec1e5581 100644 --- a/src/QUI/TemplateCologne/Utils.php +++ b/src/QUI/TemplateCologne/Utils.php @@ -68,7 +68,7 @@ public static function getConfig($params) try { return QUI\Cache\Manager::get( - 'quiqqer/templateCologne/' . $Site->getId() + 'quiqqer/templateCologne/'.$Site->getId() ); } catch (QUI\Exception $Exception) { } @@ -127,6 +127,10 @@ public static function getConfig($params) break; } + if ($Site->getAttribute('type') === 'quiqqer/order:types/orderingProcess') { + $showBreadcrumb = false; + } + /* site own show header */ switch ($Site->getAttribute('templateCologne.header')) { case 'afterNav': @@ -178,8 +182,8 @@ public static function getConfig($params) $config['header'] = $header; $config['pageTitle'] = $pageTitle; $config['showBreadcrumb'] = $showBreadcrumb; - $config['settingsCSS'] = '<style>' . $settingsCSS . '</style>'; - $config['typeClass'] = 'type-' . str_replace(['/', ':'], '-', $Site->getAttribute('type')); + $config['settingsCSS'] = '<style>'.$settingsCSS.'</style>'; + $config['typeClass'] = 'type-'.str_replace(['/', ':'], '-', $Site->getAttribute('type')); $config['siteType'] = $siteType; $config['basketStyle'] = $basketStyle; $config['basketOpen'] = $basketOpen; @@ -187,7 +191,7 @@ public static function getConfig($params) // set cache QUI\Cache\Manager::set( - 'quiqqer/templateCologne/' . $Site->getId(), + 'quiqqer/templateCologne/'.$Site->getId(), $config ); diff --git a/types/registration.html b/types/registration.html new file mode 100644 index 0000000000000000000000000000000000000000..1593890b0d3a4b86a8b3dd3520796721530d1125 --- /dev/null +++ b/types/registration.html @@ -0,0 +1,11 @@ +{if $Site->getAttribute('quiqqer.settings.registration.contentPos') == 'beforeRegistrationForm' + && $Template->getAttribute('content-body') && $Site->getAttribute('content')} +<section class="content-body grid-100 mobile-grid-100 grid-parent"> + {$Site->getAttribute('content')} +</section> +{/if} + +<div class="content-template" style="min-height: 350px;"> + {$Registration->create()} +</div> + diff --git a/types/registration.php b/types/registration.php new file mode 100644 index 0000000000000000000000000000000000000000..c96a4e79b9e0bbb6f7d7c9a0e8dac3733ab177a3 --- /dev/null +++ b/types/registration.php @@ -0,0 +1,45 @@ +<?php + +/** + * Registration Sign Up Site Type + */ + +use QUI\Utils\Security\Orthos; + +$Site->setAttribute('nocache', 1); + +// Determine what happens if the user is already logged in +if (QUI::getUserBySession()->getId()) { + try { + $FrontendUsersHandler = QUI\FrontendUsers\Handler::getInstance(); + $registrationSettings = $FrontendUsersHandler->getRegistrationSettings(); + + if ($registrationSettings['visitRegistrationSiteBehaviour'] === 'showProfile') { + $ProfileSite = $FrontendUsersHandler->getProfileSite($Site->getProject()); + + if ($ProfileSite) { + header('Location: ' . $ProfileSite->getUrlRewritten()); + exit; + } + } + } catch (QUI\Exception $Exception) { + QUI\System\Log::writeDebugException($Exception); + } +} + +$siteContent = false; + +if ($Site->getAttribute('quiqqer.settings.registration.contentPos') == 'nextToRegistrationForm' && $Site->getAttribute('content')) { + $siteContent = $Site->getAttribute('content'); +} + +/** + * Registration / Sign up + */ +$Registration = new QUI\FrontendUsers\Controls\RegistrationSignUp([ + 'content' => $siteContent +]); + +$Engine->assign([ + 'Registration' => $Registration, +]);