Добрый день, уже измучился не получается никак настроить pickadate.js, чтобы он работал вместо со SMARTY и JavaScript, подскажите как реализовать
Где это реализовывается:
Это реализовывается на движке CS CART
Задача:
Выключить выбор определенный дат исходя из настроек модуля в CS CART (эти самые настройки проверяются через SMARTY)
Как выключаются даты в pickadate.js (ссылка на сайт с документацией):
Disable a specific or arbitrary set of dates selectable on the picker.
$('.datepicker').pickadate({
disable: [
new Date(2015,3,13),
new Date(2015,3,29)
]
})
В чем проблема:
А проблема в том, что в CS CART Используется SMARTY и соответственно получается, что не вставляется значение из JAVASCRIPT в SMARTY, мне пришлось прибегнуть к JAVASCRIPT коду так как в SMARTY не предусмотрена та фигня, что в JS нумерация идет с нуля, тогда я решил обрабатывать месяц в JS и вставлять его в SMARTY, но данный код не работает (ниже проблемный кусочек кода)
{$smarty_today_date = $smarty.now}
{$smarty_today_date = $smarty_today_date|date_format:"%Y,%m,%e"}
{$plus_one_day = $smarty.now+24*60*60}
{$plus_one_day = $plus_one_day|date_format:"%Y,%m,%e"}
<script type="text/javascript">
(function(_, $) {$ldelim}
$.ceEvent('on', 'ce.commoninit', function(context) {
var now = new Date();
var today = '['+now.getFullYear()+','+now.getMonth()+','+now.getDate()+']';
var tomorrow = '['+now.getFullYear()+','+now.getMonth()+','+(now.getDate()+1)+']';
var disable_date = today+", "+tomorrow+", ";
var $delivery_date = $('.delivery_date').pickadate({
format: 'd mmmm yyyy (ddd)',
formatSubmit: '{$date_format}',
disable: [
disable_date,
{if $set.forbidden_dates_for_date_selection && $set.forbidden_dates_for_date_selection != ""}{$set.forbidden_dates_for_date_selection},{/if}
{if !isset($set.forbidden_days_of_the_week_for_delivery.N)}{foreach from=$set.forbidden_days_of_the_week_for_delivery key=k item=v}{$k}, {/foreach}{/if}
],
hiddenName: true,
showMonthsShort: true,
min: true,
close: '',
clear: '',
firstDay: 1,
});
$('.delivery_time').pickatime({
format: 'H:i',
formatSubmit: 'HH:i',
hiddenName: true,
{if $set.min_choosing_the_delivery_time && $set.min_choosing_the_delivery_time != ""}min: [{$set.min_choosing_the_delivery_time}],{/if}
{if $set.max_choosing_the_delivery_time && $set.max_choosing_the_delivery_time != ""}max: [{$set.max_choosing_the_delivery_time}],{/if}
{if $set.the_selection_intervals_of_time && $set.the_selection_intervals_of_time != ""}interval: {$set.the_selection_intervals_of_time},{/if}
clear: '',
});
});
{$rdelim}(Tygh, Tygh.$));
</script>
И получается, что выбор даты этих дней все равно доступен