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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
10 сентября 2016, 08:58
+2
Во-первых, никогда не правьте исходники. После обновления все пропадёт. Сделайте свой плагин с таким же условием.
Во-вторых, зачем нужен промежуточный сниппет? Можно в плагине сразу прописать нужные условия.
В-третьих, переменная $modx->resource пустая. Поэтому и условие не работает. В плагине доступна переменная $resource. Вот её и можно использовать.
Сергей Шлоков
09 сентября 2016, 15:06
+1
Не надо править исходники. Нужно подключить свой файл с обработчиком.
проще другой поставить
Точно. Тем более, что их пруд пруди.
Сергей Шлоков
09 сентября 2016, 15:03
0
Чемпионат Мира по футболу идет до, например, 17 числа. И все-таки финал будет, блин, 17 числа, а не 16 )))
Никогда не обращал внимания. :)
Сергей Шлоков
09 сентября 2016, 14:53
0
Настроить и доработать — это две большие разницы. Или четыре маленьких, как говорят в Одессе.
Настроить можно, если функционал заложен. А если его нет, то нужно дорабатывать самостоятельно.
Сергей Шлоков
09 сентября 2016, 14:49
0
Дорабатывать яваскрипт.
Сергей Шлоков
09 сентября 2016, 14:43
0
Просто в России, если написано акция до 8, это это, блин, до 8, а не до обеда восьмого и не до 7…
А если магазин работает до 21, то закрываться он должен в 22 часа, а не в 21-00 и не в 21-30. :)
В той России, в которой живу я, если хотят, чтобы акция действовала и 8-го, говорят «акция продлится до 8-го включительно». Ибо приставка «до» имеет строго определенное значение.
Сергей Шлоков
09 сентября 2016, 13:59
0
Этот код нужно указать в javascript файле и его подключить или прописать напрямую в шаблоне. А в url нужно указать адрес страницы со сниппетом date.
Сергей Шлоков
09 сентября 2016, 13:57
+1
Важна актуальность информации.
Представь, ты сидишь в офисе на 3-ем этаже и тебе надо узнать время. Часы находятся на первом этаже. Ты просишь курьера сбегать и узнать. Они прибегает и говорит — 12 часов 22 минуты 41 секунда. Ты его опять посылаешь, он уже приходит не спеша и сообщает — 12 часов 24 минуты 18 секунд. Как ты думаешь, время соответствует реальному?
А вот если он сбегает (или сходит) и узнает сколько человек в очереди в столовой, то эта информация будет актуальной. Тут не так важны секунды.
Чувствуешь разницу?
Сергей Шлоков
09 сентября 2016, 11:07
+1
На здоровье!
По этому компоненту все планы выполнены.
Сергей Шлоков
09 сентября 2016, 10:42
0
Как раз наоборот. Посчитай количество шагов в том и другом случае. Лично я не стал бы ставить пакет ради одного сниппета. Тем более обновлений не планируется.
Сергей Шлоков
09 сентября 2016, 10:23
0
Так что надо-то — время или пользователи?
Сергей Шлоков
09 сентября 2016, 10:17
0
Это что-то новенькое — php для динамических элементов. Сергей, а ты понимаешь, что на ajax запрос требуется время? И может случится так, что запрос будет выполняться несколько секунд.
Такие вещи делаются только на яваскрипте. Забиваешь в яндекс «Вывод текущего времени на странице javascript» и получаешь кучу примеров.
Сергей Шлоков
09 сентября 2016, 10:07
0
Этот репозиторий есть — готовые решения. ;) Плохо тегов тут нет.
Сергей Шлоков
09 сентября 2016, 08:18
1
+1
Хорошее решение. Только лучше таблицу напрямую не указывать. MODX сам умеет определять
SELECT * FROM {$modx->getTableName('TicketView')} WHERE ....
Сергей Шлоков
07 сентября 2016, 08:45
1
+1
А так
...
&where=`["TVeventdate.value >= NOW()"]`
или так
...
&where=`["EventDate >= NOW()"]`
Сергей Шлоков
07 сентября 2016, 08:28
1
0
[[!pdoResources?
	&tpl=`ImmediateEvents`
	&includeTVs=`1`
	&includeContent=`1`
	&includeTVs=`EventImage, EventDate`
	&processTVs=`1`
	&limit=`4444`
	&where=`["TVEventDate.value >= NOW()"]`
	&showLog=`1`
]]
Вызывать обязательно некэшированным.
Сергей Шлоков
03 сентября 2016, 14:06
0
<input type="hidden" name="context_key" value="Айди другого контекста" />
А сниппету в параметре allowedFields нужно добавить context_key.
Сергей Шлоков
03 сентября 2016, 11:31
+1
писал впервые из нескольких кусков
Это очень заметно. Чисто для понимания давайте пробежимся по коду.
// очищаем кеш
Зачем?
П.С. Вообще это можно сделать непрограммно — просто создавать некэшированные страницы. Но в данном случае не понятно, зачем это нужно.

//Получаем ID текущего ресурса
$id = $modx->resource->get('id');
Зачем? В первой строчке уже получали.

//текущая дата
$today = date('Y-m-d');
Зачем? В strtotime и так по умолчанию берется текущая дата.

$date = date('Y-m-d',strtotime("-$day day", strtotime(preg_replace('~^(\d+)\.(\d+)\.(\d+)$~', '$3-$2-$1', $today))));
Это вообще что за конструкция? Явно откуда-то скопирована без понимания. Хватило бы
$date = date('Y-m-d',strtotime("-$day day"));
Но и это лишнее, так как в mySql есть готовые функции для работы с датами.

$tmpip = $arr_one[«ip»];
$allip[] = $tmpip;
А почему нельзя было написать так $allip[] = $arr_one[«ip»]?

if (in_array("$ip", $allip)) {
$ip нужно указывать без кавычек.

print $unlock;
Возврат значений из сниппета должен быть через return.

Явно есть над чем поработать.