Марат Марабар

Марат Марабар

Был в сети 21 февраля 2021, 23:35
Заказы не принимаю
Отправить деньги
Добавь после этой строчки

$modx->toPlaceholder('count', count($arrIds), 'looked');
Количество, хранящееся в сессии будет в плейсхолдере
[[+looked.count]]
В любом месте страницы, где вызывается сниппет.

А я завтра обновлю компонент.
Подсчёт количества не реализован, но можно добавить..., в принципе.
Только не понятно что считать — все просмотры, пока жива сессия или только те, которые записаны. Там же сколько укажешь записывать, столько и пишется — более старые просмотры заменяются новыми.
Полученный чанк при ajax-запросе нужно распарсить, допустим в своём классе это можно сделать так:
private function getParserTag($content)
{
    $maxIterations = (integer) $this->modx->getOption('parser_max_iterations', null, 10);
    $this->modx->getParser()->processElementTags('', $content, false, false, '[[', ']]', array(), $maxIterations);
    $this->modx->getParser()->processElementTags('', $content, true, true, '[[', ']]', array(), $maxIterations);
        
    return $content;
}
Интересная задача.
Кроме добавления услуг, требуется ещё и добавление категорий по правильному, — чтобы было из чего выбирать категорию. Это же касается и прав доступа (видимости), только не понятно для чего.
Ну, и потом, не забываем про грид в заказах, ордере, письма клиенту, может что-то ещё — об этом ни слова.
В общем будут вопросы, цена от 60000 руб., контакты в профиле.
Нужно ещё name и value указать. Что-то должно получиться типа такого
miniShop2.combo.Dates = function(config) {
	config = config || {};
	Ext.applyIf(config,{
	name: 'name_column',
        fieldLabel: 'Дата окончания доступности',
        description: 'description',
        allowBlank: true,
        format: 'd.m.Y',
        dateWidth: 120,
        value: 'name_column'
	});
	miniShop2.combo.Dates.superclass.constructor.call(this,config);
};
Ext.extend(miniShop2.combo.Dates,Ext.form.DateField);
Ext.reg('xdates',miniShop2.combo.Dates);
где name_column имя колонки в БД.
Надеюсь окончательный вариант.

<div id="digital_watch"></div>
<script>
function digitalWatch() {
    var date = new Date();
    date.setHours(date.getUTCHours() + 3); // Время UTC + (требуемая разница)
    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>