Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
04 марта 2017, 16:26
+4
Глазастые ребята. Мне 23 дюймового экрана уже не хватает, а они в микро лептопах ковыряются. В следующем году ждем мастер-класса на айфонах. :)
Сергей Шлоков
04 марта 2017, 09:37
0
6. адаптивная тебя виджета;
:)
Сергей Шлоков
28 февраля 2017, 07:30
0
Ведётся статистика ресурсов. Файлы к ним не относятся. Поэтому siteStatistics не подойдёт.
Сергей Шлоков
22 февраля 2017, 15:28
0
Ок. Первое предложение за всё время.
Я изначально предлагал подключиться разработчикам с предложениями упрощения рутинных задач разработки, так как у меня в этом опыта не много.

П.С. В новой версии добавил очередь к email, чтобы не нагружать сайт при загрузке страницы. Т.е. вместо отправки почты она сохраняется в очередь, а потом в cron скрипте можно отправить из очереди. Причем очередей можно создать сколько угодно. Например, одна для админа с уведомлением о новом пользователе, другая для подписчиков новостей и т.д.
Сергей Шлоков
11 февраля 2017, 11:37
+1
Был неправ. Оказывается это старенький сниппет.
Сделайте копию и последнюю строчку
echo $modx->getChunk($tpl, $output);
замените на
$pdo = $modx->getService('pdoTools');
return  $pdo->getChunk($tpl, $output);
Сергей Шлоков
10 февраля 2017, 18:20
0
Проверить наличие процессора. Я так понимаю, с какого-то момента возникла эта ошибка, значит было какое-то действие. Если процессора нет, то нужно переустановить компонент controlErrorLog.
Советую временно отключить этот плагин в админке до момента решения проблемы, так как при сохранении любого объекта или страницы кэш будет перезаписан и опять придется лезть в файл и комментировать.

П.С. Вообще неплохо было бы проверить журнал ошибок.
Сергей Шлоков
10 февраля 2017, 17:58
+1
Видимо что-то не так с процессором — например, нету его там.
Нужно отключить плагин. Для этого открыть файл core/cache/includes/elements/plugins/10.include.cache.php и закомментировать весь код.
Сергей Шлоков
10 февраля 2017, 09:09
1
+2
Ты кстати можешь временно изменить уровень логирования, чтобы левые ошибки не сыпались. Установи log_level = 0. Потом вернёшь обратно.
Сергей Шлоков
09 февраля 2017, 12:19
2
+1
Логи лежат в core/cache/logs/error.log
$f = $modx->getOption(xPDO::OPT_CACHE_PATH) . 'logs/error.log';
if (file_exists($f)) {
	$filesize = filesize($f) / 1024 / 1024;
	// Если больше 5МБ, удалить
	if ($filesize > 5) unlink($f); 
}
Сергей Шлоков
09 февраля 2017, 11:47
+1
Cron в помощь. Вырос больше положенного — чик.
Сергей Шлоков
08 февраля 2017, 09:23
+2
Тут недавно Николай на тоже самое собирал деньги. Удивительно, но почему-то сразу не понятно, что никто не будет вкладываться в это. Какая мотивация должна подвигнуть разработчика вложиться в продукт, которых ещё непонятно какой будет и устроит ли он будущего заказчика? Зачем разработчику в него вкладываться? Купить и положить на полочку? Это нужно заказчику. Он и оплатит покупку, если она подойдёт по функционалу. Поэтому вероятность набрать даже 1 тыс. р. не велика. Напомню про свой опыт сбора денег для создания терминала для разработчиков(!!!). Нужно то было всего 150 р. вложить. Нашлось всего 9 человек. А это непосредственные пользователи. Так что уж говорить про потенциальных.

Лично я не собираюсь отговаривать. Делай хоть часовое, хоть посуточное бронирование. За решение голосует пользователь рублём. К oneBooking пристроить не получится. Если бы это было так просто, я бы уже прикрутил.

Напомню, что oneBooking появился как простой календарь бронирования (я тогда занимался календарями). А потом пришлось прикручивать оплату, доп. поля, акции и дорабатывать и дорабатывать. А изначально он на это не был рассчитан. Это как построить баньку, а потом надстроить второй этаж, тут балкончик повесить, тут ещё комнатку пристроить, тут веранду добавить. А фундамент на это не рассчитан.

Так что перспектива развития oneBooking — это создание нового компонента с соответствующей текущему и будущему функционалу архитектурой по аналогии с miniShop2. Но хочу напомнить, что работа по созданию бесплатного минишопа2 автору была оплачена. А моя мотивация по теме бронирования на нуле. Поэтому я без сожаления передаю эстафету любому энтузиасту.
Сергей Шлоков
05 февраля 2017, 08:52
0
Сниппет ваш, вам и надо научить его подключать чанк из файла — либо самому писать либо подключить для этого pdoToos.
Сергей Шлоков
05 февраля 2017, 08:32
0
Неверный ответ. И все очки сгорают. Надо было использовать звонок другу.
Сергей Шлоков
04 февраля 2017, 09:34
0
Один из вариантов — перед функцией str_replace нужно вырезать код из тега code, а после вернуть обратно.
Сергей Шлоков
25 января 2017, 08:49
+1
if ($modx->event->name == 'OnDocFormSave' && $mode == 'new') {
	$contexts = $modx->getCollection('modContext', array('key:NOT IN' => ['mgr','web'])); // если web основной
	$data = $resource->toArray();
	foreach ($contexts as $context) {
		$data['context_key'] = $context->key;
		$data['parent'] = 0; // Тут нужно продумать логику, иначе в корень будет сохранен.
		//$data['alias'] = ...;  // Алиас возможно также нужно переопределить

		$newResource = $modx->newObject('modDocument', $data);
		//Если есть ТВ - пример кода выше

		$newResource->save();
	}
}
Как-то так. Не пробовал. По идее должно работать.
Сергей Шлоков
24 января 2017, 14:09
0
Наверно проще через newObject, тогда проблема уходит.