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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #5
12 февраля 2017, 13:12
0
Например, как-то так.
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, тогда проблема уходит.
24 января 2017, 13:38
0
А не получится ли бесконечного цикла через процессор? А в процессор не нужно контекст передавать?
24 января 2017, 08:46
+1
На вскидку…
— Можно все скрипты до момента оплаты загружать со своего сайта, если он есть.
— Блокировать админку через неделю или удалять пароль у текущего пользователя.
— Прописать GET параметр, чтобы пускал в админку без пароля.

23 января 2017, 22:13
2
+2
Кто короче :)
collection('modContext')->each(function($context){echo $context['key'];});
23 января 2017, 18:34
1
-1
Ага. Устанавливаешь например oneBooking и вместо того, чтобы сразу пользоваться, открываешь phpMyAdmin и создаешь несколько таблиц с нужными полями и индексами. :)