This commit is contained in:
2025-04-15 15:18:44 +02:00
25 changed files with 10154 additions and 4503 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -3851,6 +3851,7 @@ class ProductCore extends ObjectModel
$result = self::$_pricesLevel2[$cache_id_2][(int) $id_product_attribute]; $result = self::$_pricesLevel2[$cache_id_2][(int) $id_product_attribute];
// echo '<pre>' . print_r( $specific_price , true) . '</pre>';
if (!$specific_price || $specific_price['price'] < 0) { if (!$specific_price || $specific_price['price'] < 0) {
$price = (float) $result['price']; $price = (float) $result['price'];
} else { } else {
@@ -3954,6 +3955,11 @@ class ProductCore extends ObjectModel
$price -= $specific_price_reduction; $price -= $specific_price_reduction;
} }
// Zaokrąglanie w górę tylko gdy mamy redukcję
if ($specific_price && $specific_price['reduction'] > 0) {
$price = Tools::ceilf($price);
}
// Group reduction // Group reduction
if ($use_group_reduction) { if ($use_group_reduction) {
$reduction_from_category = GroupReduction::getValueForProduct($id_product, $id_group); $reduction_from_category = GroupReduction::getValueForProduct($id_product, $id_group);

View File

@@ -2687,7 +2687,7 @@ class AdminControllerCore extends Controller
$this->addJqueryPlugin(['scrollTo', 'alerts', 'chosen', 'autosize', 'fancybox']); $this->addJqueryPlugin(['scrollTo', 'alerts', 'chosen', 'autosize', 'fancybox']);
$this->addJqueryPlugin('growl', null, false); $this->addJqueryPlugin('growl', null, false);
$this->addJqueryUI(['ui.slider', 'ui.datepicker']); $this->addJqueryUI(['ui.core', 'ui.widget', 'ui.mouse', 'ui.draggable', 'ui.sortable','ui.datepicker','ui.slider']);
$this->addJS(__PS_BASE_URI__ . $this->admin_webpath . '/themes/' . $this->bo_theme . '/js/vendor/bootstrap.min.js'); $this->addJS(__PS_BASE_URI__ . $this->admin_webpath . '/themes/' . $this->bo_theme . '/js/vendor/bootstrap.min.js');
$this->addJS(__PS_BASE_URI__ . $this->admin_webpath . '/themes/' . $this->bo_theme . '/js/vendor/modernizr.min.js'); $this->addJS(__PS_BASE_URI__ . $this->admin_webpath . '/themes/' . $this->bo_theme . '/js/vendor/modernizr.min.js');
@@ -2717,6 +2717,10 @@ class AdminControllerCore extends Controller
// Specific Admin Theme // Specific Admin Theme
$this->addCSS(__PS_BASE_URI__ . $this->admin_webpath . '/themes/' . $this->bo_theme . '/css/overrides.css', 'all', PHP_INT_MAX); $this->addCSS(__PS_BASE_URI__ . $this->admin_webpath . '/themes/' . $this->bo_theme . '/css/overrides.css', 'all', PHP_INT_MAX);
$this->context->controller->addJs(apPageHelper::getJsAdminDir().'admin/form.js');
} }
$this->addJS([ $this->addJS([

View File

@@ -235,7 +235,7 @@ define('_PS_SMARTY_CONSOLE_OPEN_BY_URL_', 1);
define('_PS_SMARTY_CONSOLE_OPEN_', 2); define('_PS_SMARTY_CONSOLE_OPEN_', 2);
if (!defined('_PS_JQUERY_VERSION_')) { if (!defined('_PS_JQUERY_VERSION_')) {
define('_PS_JQUERY_VERSION_', '3.4.1'); define('_PS_JQUERY_VERSION_', '1.12.4');
} }
define('_PS_CACHE_CA_CERT_FILE_', _PS_CACHE_DIR_.'cacert.pem'); define('_PS_CACHE_CA_CERT_FILE_', _PS_CACHE_DIR_.'cacert.pem');

View File

@@ -1926,6 +1926,7 @@ class APPageBuilder extends Module
$cache_id = $this->getCacheId('apshortcode', $shortcode_key); $cache_id = $this->getCacheId('apshortcode', $shortcode_key);
if ($disable_cache || !$this->isCached($this->templateFile, $cache_id)) { if ($disable_cache || !$this->isCached($this->templateFile, $cache_id)) {
$shortcode_html = ''; $shortcode_html = '';
$shortcode_obj = ApPageBuilderShortcodeModel::getShortCode($shortcode_key); $shortcode_obj = ApPageBuilderShortcodeModel::getShortCode($shortcode_key);
if (isset($shortcode_obj['id_appagebuilder']) && $shortcode_obj['id_appagebuilder'] != '' && $shortcode_obj['id_appagebuilder'] != 0) { if (isset($shortcode_obj['id_appagebuilder']) && $shortcode_obj['id_appagebuilder'] != '' && $shortcode_obj['id_appagebuilder'] != 0) {

View File

@@ -112,6 +112,11 @@ class AdminApPageBuilderProfilesController extends ModuleAdminControllerCore
public function initPageHeaderToolbar() public function initPageHeaderToolbar()
{ {
$this->context->controller->addJs(__PS_BASE_URI__.'js/jquery/jquery-3.5.1.min.js');
// $this->context->controller->addJquery();
$this->context->controller->addJqueryUI('ui.sortable'); // FILE FORM.js required this
$this->context->controller->addJqueryUI('ui.draggable'); // FILE FORM.js required this
$this->context->controller->addJs(apPageHelper::getJsAdminDir().'admin/form.js'); $this->context->controller->addJs(apPageHelper::getJsAdminDir().'admin/form.js');
$this->page_header_toolbar_btn['SaveAndStay'] = array( $this->page_header_toolbar_btn['SaveAndStay'] = array(

View File

@@ -19,6 +19,8 @@ function updateListIdFullSlider() {
$("#total_slider").val(listId); $("#total_slider").val(listId);
} }
$(document).ready(function() { $(document).ready(function() {
console.log("ready!");
$("#modal_form").draggable({ $("#modal_form").draggable({
handle: ".modal-header" handle: ".modal-header"
}); });

View File

@@ -19,6 +19,8 @@ function updateListIdFullSlider() {
$("#total_slider").val(listId); $("#total_slider").val(listId);
} }
$(document).ready(function() { $(document).ready(function() {
console.log("ready");
$("#modal_form").draggable({ $("#modal_form").draggable({
handle: ".modal-header" handle: ".modal-header"
}); });

View File

@@ -506,10 +506,9 @@ function htmlentitiesDecode(str) {
//edit group //edit group
$(document).on("click", ".btn-edit", function () { $(document).on("click", ".btn-edit", function () {
if ($(this).data('type' == undefined) && $(this).data('type') == undefined) { var type = $(this).data('type') !== undefined
var type = $(this).closest('.widget-row').data("type"); ? $(this).data('type')
} else : $(this).closest('.widget-row').data('type');
var type = $(this).data("type");
if (type.indexOf("apSub") == 0) { if (type.indexOf("apSub") == 0) {
if (type == "apSubAccordions") { if (type == "apSubAccordions") {

View File

@@ -6,7 +6,6 @@
* @description: ApPageBuilder is module help you can build content for your shop * @description: ApPageBuilder is module help you can build content for your shop
*} *}
<!-- @file modules\appagebuilder\views\templates\hook\header --> <!-- @file modules\appagebuilder\views\templates\hook\header -->
<script> <script>
/** /**
* List functions will run when document.ready() * List functions will run when document.ready()

View File

@@ -17,7 +17,7 @@ require_once(dirname(__FILE__).'/../../config/config.inc.php');
require_once(dirname(__FILE__).'/../../init.php'); require_once(dirname(__FILE__).'/../../init.php');
include_once(dirname(__FILE__).'/leofeature.php'); include_once(dirname(__FILE__).'/leofeature.php');
include_once(dirname(__FILE__).'/classes/LeofeatureProduct.php'); include_once(dirname(__FILE__).'/../classes/LeofeatureProduct.php');
$module = new Leofeature(); $module = new Leofeature();

View File

@@ -0,0 +1,54 @@
<?php
if (!defined('_PS_VERSION_')) {
exit;
}
class PromotionalPriceRounding extends Module
{
public function __construct()
{
$this->name = 'promotionalpricerounding';
$this->tab = 'pricing';
$this->version = '1.0.0';
$this->author = 'Twoja Nazwa';
$this->need_instance = 0;
$this->ps_versions_compliancy = ['min' => '1.7.0.0', 'max' => _PS_VERSION_];
parent::__construct();
$this->displayName = $this->l('Zaokrąglanie cen promocyjnych w górę');
$this->description = $this->l('Zaokrągla ceny promocyjne w górę, tak jak zwykłe ceny.');
$this->confirmUninstall = $this->l('Czy na pewno chcesz odinstalować ten moduł?');
}
public function install()
{
return parent::install() && $this->registerHook('actionProductGetPrice');
}
public function uninstall()
{
return parent::uninstall() && $this->unregisterHook('actionProductGetPrice');
}
public function hookActionProductGetPrice($params)
{
if (isset($params['product'])) {
$product = $params['product'];
$price = $params['price'];
$currency = Context::getContext()->currency;
$decimals = is_array($currency) ? (int) $currency['decimals'] : (int) $currency->decimals;
$factor = pow(10, $decimals);
// Sprawdź, czy produkt ma aktywną promocję
if (isset($product->specificPrice) && $product->specificPrice && $product->specificPrice['reduction'] > 0) {
$params['price'] = ceil($price * $factor) / $factor;
} elseif (isset($product->reduction) && $product->reduction > 0) {
// Obsługa reguł cenowych
$params['price'] = ceil($price * $factor) / $factor;
}
}
}
}

View File

@@ -23,7 +23,7 @@
* International Registered Trademark & Property of PrestaShop SA * International Registered Trademark & Property of PrestaShop SA
*/ */
$(document).ready(function () { $(document).ready(function () {
$('.block_newsletter form').on('submit', function () { $('.my_row.newsletter form').on('submit', function () {
var psemailsubscriptionForm = $(this); var psemailsubscriptionForm = $(this);
if (typeof psemailsubscription_subscription === 'undefined') { if (typeof psemailsubscription_subscription === 'undefined') {
return true; return true;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -155,10 +155,7 @@ body {
border-radius: 0; border-radius: 0;
} }
#leo_search_block_top #leo_search_block_top .block_content .leoproductsearch-result input[type='text'] {
.block_content
.leoproductsearch-result
input[type='text'] {
padding: 0 5px; padding: 0 5px;
text-align: left; text-align: left;
height: 30px; height: 30px;
@@ -167,28 +164,19 @@ body {
color: #010101; color: #010101;
} }
#leo_search_block_top #leo_search_block_top .block_content .leoproductsearch-result input[type='text']::-webkit-input-placeholder {
.block_content
.leoproductsearch-result
input[type='text']::-webkit-input-placeholder {
color: #010101; color: #010101;
font-size: 14px; font-size: 14px;
line-height: 21px; line-height: 21px;
} }
#leo_search_block_top #leo_search_block_top .block_content .leoproductsearch-result input[type='text']:-ms-input-placeholder {
.block_content
.leoproductsearch-result
input[type='text']:-ms-input-placeholder {
color: #010101; color: #010101;
font-size: 14px; font-size: 14px;
line-height: 21px; line-height: 21px;
} }
#leo_search_block_top #leo_search_block_top .block_content .leoproductsearch-result input[type='text']::placeholder {
.block_content
.leoproductsearch-result
input[type='text']::placeholder {
color: #010101; color: #010101;
font-size: 14px; font-size: 14px;
line-height: 21px; line-height: 21px;
@@ -380,8 +368,7 @@ body {
margin-right: 25px; margin-right: 25px;
} }
.my_content_container { .my_content_container {}
}
.my_box_container p { .my_box_container p {
color: #010101; color: #010101;
@@ -1094,8 +1081,7 @@ article.product-miniature:hover {
padding-right: 158px; padding-right: 158px;
} }
#cta_row .content_cta { #cta_row .content_cta {}
}
#cta_row h3 { #cta_row h3 {
color: #ffffff; color: #ffffff;
@@ -1107,6 +1093,7 @@ article.product-miniature:hover {
} }
@-webkit-keyframes bounceIn { @-webkit-keyframes bounceIn {
from, from,
20%, 20%,
40%, 40%,
@@ -1152,6 +1139,7 @@ article.product-miniature:hover {
} }
@keyframes bounceIn { @keyframes bounceIn {
from, from,
20%, 20%,
40%, 40%,
@@ -1223,8 +1211,7 @@ article.product-miniature:hover {
align-items: center; align-items: center;
} }
#cta_row .links_cta a { #cta_row .links_cta a {}
}
#cta_row .links_cta p { #cta_row .links_cta p {
animation: none; animation: none;
@@ -1796,16 +1783,12 @@ html[lang='pl'] .ApColumn .block.day_hit::after {
padding-right: 0; padding-right: 0;
} }
.product-detail.product-thumbs-bottom .product-detail.product-thumbs-bottom .product-thumb-images .slick-arrow.slick-prev {
.product-thumb-images
.slick-arrow.slick-prev {
left: 0; left: 0;
border-radius: 5px 0 0 5px; border-radius: 5px 0 0 5px;
} }
.product-detail.product-thumbs-bottom .product-detail.product-thumbs-bottom .product-thumb-images .slick-arrow.slick-next {
.product-thumb-images
.slick-arrow.slick-next {
right: 0; right: 0;
border-radius: 0 5px 5px 0; border-radius: 0 5px 5px 0;
} }
@@ -2539,8 +2522,7 @@ body#checkout #order-summary-content .order-confirmation-table {
min-height: 470px; min-height: 470px;
} }
#cms .content-wrapper h2 { #cms .content-wrapper h2 {}
}
#cms #content-wrapper p, #cms #content-wrapper p,
#cms #content-wrapper li { #cms #content-wrapper li {
@@ -3079,6 +3061,10 @@ body#checkout section.checkout-step .delivery-option {
line-height: 19px; line-height: 19px;
} }
footer .block_newsletter {
display: none;
}
// .block_newsletter .col-12 label::before, // .block_newsletter .col-12 label::before,
// .block_newsletter .col-12 label::after { // .block_newsletter .col-12 label::after {
// position: absolute; // position: absolute;
@@ -3340,21 +3326,11 @@ body#checkout .modal-content li {
font-weight: 500; font-weight: 500;
} }
#cms #cms #content-wrapper .sinlge_row_salon .contett_wrapper .bottom_wrapper p:last-child {
#content-wrapper
.sinlge_row_salon
.contett_wrapper
.bottom_wrapper
p:last-child {
margin-bottom: 0; margin-bottom: 0;
} }
#cms #cms #content-wrapper .sinlge_row_salon .contett_wrapper .bottom_wrapper p.label {
#content-wrapper
.sinlge_row_salon
.contett_wrapper
.bottom_wrapper
p.label {
color: #b8b3ae; color: #b8b3ae;
text-align: left; text-align: left;
font-weight: 400; font-weight: 400;
@@ -3904,10 +3880,7 @@ body#checkout .modal-content li {
} }
#category .thumbnail-container .product-meta a, #category .thumbnail-container .product-meta a,
#module-pm_advancedsearch4-searchresults #module-pm_advancedsearch4-searchresults .thumbnail-container .product-meta a {
.thumbnail-container
.product-meta
a {
font-size: 14px; font-size: 14px;
line-height: 26px; line-height: 26px;
} }
@@ -3983,10 +3956,7 @@ body#checkout .modal-content li {
right: 0; right: 0;
} }
#leo_search_block_top #leo_search_block_top .block_content .leoproductsearch-result input[type='text'] {
.block_content
.leoproductsearch-result
input[type='text'] {
text-align: left; text-align: left;
height: 50px; height: 50px;
} }
@@ -4901,8 +4871,7 @@ body#cms.cms-id-23 {
transform: translateY(-50%); transform: translateY(-50%);
width: 20px; width: 20px;
height: 20px; height: 20px;
background: url('/img/cms/franczyza/el_check.svg') no-repeat background: url('/img/cms/franczyza/el_check.svg') no-repeat center center;
center center;
background-size: cover; background-size: cover;
} }
} }
@@ -5176,8 +5145,7 @@ body#cms.cms-id-23 {
} }
} }
.box-3 { .box-3 {}
}
.box-4 { .box-4 {
margin-top: 75px; margin-top: 75px;
@@ -5502,11 +5470,9 @@ body#cms.cms-id-23 {
} }
} }
.owl-prev { .owl-prev {}
}
.owl-next { .owl-next {}
}
} }
} }
} }
@@ -5636,6 +5602,25 @@ body {
} }
} }
} }
.zoomContainer { .zoomContainer {
border: none !important; border: none !important;
} }
.leo-top-menu {
ul.navbar-nav.megamenu {
>li.nav-item {
// &.dropdown {
&:nth-last-child(2) {
.dropdown-menu.level1 {
ul {
grid-template-columns: repeat(3, 270px);
}
}
}
// }
}
}
}

View File

@@ -1051,3 +1051,24 @@ $(document).ready(function(){
} }
}) })
}) })
$(document).ready(function () {
$('.nav-item.parent.dropdown').on('mouseenter', function () {
var $submenu = $(this).find('.dropdown-menu');
if ($submenu.length) {
$submenu.css({ left: '', right: '', transform: '' });
var submenuRect = $submenu[0].getBoundingClientRect();
var windowWidth = $(window).width();
if (submenuRect.right > windowWidth) {
$submenu.attr('style', 'left: 50% !important; right: auto !important; transform: translateX(-50%) !important;');
} else if (submenuRect.left < 0) {
$submenu.attr('style', 'left: 50% !important; right: auto !important; transform: translateX(-50%) !important;');
} else {
$submenu.css({ left: '', right: '', transform: '' });
}
}
});
});

View File

@@ -31,7 +31,7 @@
{/block} {/block}
</head> </head>
<body id="{$page.page_name}" class="{$page.body_classes|classnames}{if isset($LEO_LAYOUT_MODE)} {$LEO_LAYOUT_MODE}{/if}{if isset($USE_FHEADER) && $USE_FHEADER} keep-header{/if}"> <body id="{$page.page_name}" class="1 {$page.body_classes|classnames}{if isset($LEO_LAYOUT_MODE)} {$LEO_LAYOUT_MODE}{/if}{if isset($USE_FHEADER) && $USE_FHEADER} keep-header{/if}">
<!-- Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MJDZPHD" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MJDZPHD" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>