Sergey Pozhidaev

Sergey Pozhidaev

Был в сети 09 апреля 2019, 07:48
Заказы не принимаю
Ну переписывать или нет, конечно ваше дело. Нужна скорость — перепишите. А +pagetitle, наверное слишком часто у вас вызвается т.к. в доках
Если на странице какой-то тег вызывается несколько раз, то эти вызовы суммируются.
Ну как вариант попробуйте переписать все на Fenom (в послденем Minishop2 там все переписано именно на нем) + обычно если универсальные решения по скорости не устраивают, пишется свой сниппет, где происходит вся обработка и отдавать все данные плейсхолдерами в шаблон..
Вообщем если я правильно понял задачу, вам нужно вывести текущее время магазина, чтобы пользователь мог его сравнить с Часами работы магазина и понять что купить что-то (или чего еще) в данный момент можно/нельзя.
Берете классический скрипт, который скинул Михаил, толоко вставляете туда время сервера:
<script>
function digitalWatch() {
    var date = new Date([[!time]]);
    var hours = date.getHours();
    var minutes = date.getMinutes();
    var seconds = date.getSeconds();
    if (hours < 10) hours = "0" + hours;
    if (minutes < 10) minutes = "0" + minutes;
    if (seconds < 10) seconds = "0" + seconds;
    document.getElementById("digital_watch").innerHTML = hours + ":" + minutes + ":" + seconds;
    setTimeout("digitalWatch()", 1000);
}
window.onload=digitalWatch;
</script>
Создаете сниппет time, вызываете его в скрипте, некэшируемым.
В сниппите return time();
Евгений, возьмите за основу скрипт, который ниже выложил Михаил но вместо текущего времени вставьте туда время сервера функцией time()
Если знаний не хватит — напишите, выложу готовое решение.
P.S. Часовой пояс сервера должен быть настроен на Калининград.
Ну смею предположить что есть время работы самого сайта (магазина) которое с локальным временем (часовым поясом) пользователя никак не соотносится. Поэтому через PHP получаем текущее время сервера и закидываем его как аргумент js-скрипту.