Всего 123 791 комментарий

Светлана Закревская
18 января 2013, 21:50
0
Без этого поля вообще пустая страница.
Вот мой чанк, который работает:
<form action="[[~[[*id]]]]" method="post" id="mFilter" class="form-horizontal">
	[[!mFilter?
		&includeMS=`1`
		&includeMSList=`price,add1,add2`
		&includeTVs=`1`
                &processTVs=`1`
                &resources=`4,17...`
                &includeTVList=`colorImg,form,typeOfImage,country`
                &sortFilters=`ms_add1,ms_add2,tv_colorImg,tv_form,tv_typeOfImage,tv_country,price`
                &tpl=`tpl.msGoods.row`
                &limit=`6`
                &pageFirstTpl=`<li class="control"><a href="[[+href]]">Первая</a></li>`
                &pageLastTpl=`<li class="control"><a href="[[+href]]">Последняя</a></li>`

	]]
	<input type="hidden" name="query" value="[[+mse.query]]">
	<input type="hidden" name="page" value="1">
	<input type="hidden" name="sort" value="ms_price,asc">
	<input type="hidden" name="limit" value="6">
	<input type="hidden" name="cat_id" value="[[*id]]">
	<input type="hidden" name="action" value="filter" />
</form>
А этот не работает (пустая страница):

<form action="[[~[[*id]]]]" method="post" id="mFilter" class="form-horizontal">
	[[!mFilter?
		&includeMS=`1`
		&includeMSList=`price,add1,add2`
		&includeTVs=`1`
                &processTVs=`1`
                &resources=`[[!getCatIds]]`
                &includeTVList=`colorImg,form,typeOfImage,country`
                &sortFilters=`ms_add1,ms_add2,tv_colorImg,tv_form,tv_typeOfImage,tv_country,price`
                &tpl=`tpl.msGoods.row`
                &limit=`6`
                &pageFirstTpl=`<li class="control"><a href="[[+href]]">Первая</a></li>`
                &pageLastTpl=`<li class="control"><a href="[[+href]]">Последняя</a></li>`
	]]
	<input type="hidden" name="page" value="1">
	<input type="hidden" name="sort" value="ms_price,asc">
	<input type="hidden" name="limit" value="6">
	<input type="hidden" name="cat_id" value="[[*id]]">
	<input type="hidden" name="action" value="filter" />
</form>
При чем не работает ни с полем (тут пишет Задан пустой поисковый запрос), ни без него, без поля cat_id (которого у Вас нет), тоже не работает.
Василий Наумкин
18 января 2013, 21:41
0
Так проще обновлять.

Иначе расползётся разными версиями по другим компонентам — и будут непонятки.
Василий Наумкин
18 января 2013, 21:40
0
Видимо да, сканировать порты сегодня не нужно.
Виталий Батушев
18 января 2013, 21:21
0
Вах! Теперь это еще и отдельный пакет!
Жуковский Антон
18 января 2013, 19:41
0
Скорее всего поиск жертв с открытым 22 портом эффективнее, чем полное сканирование портов. Для эксперимента я поменял сегодня порт ssh на домашнем роутере на 22. Через 3 часа пришел и полна жопа огурцов в логе куча записей о неудачной авторизации.
Василий Наумкин
18 января 2013, 15:41
0
Какие-то ленивые боты у тебя =)
Жуковский Антон
18 января 2013, 14:55
0
0 попыток после того, как три года назад поменял порт. Сервер, правда, не для веба, но, тем не менее, до смены порта были тысячи попыток в день.
Alex Vakhitov
18 января 2013, 14:47
0
Вообще кстати советую www.keepassx.org, очень удобная штука для хранения паролей
Василий Наумкин
18 января 2013, 14:37
0
Уболтал, чертяка языкастый!
Alex Vakhitov
18 января 2013, 14:18
0
Ну тут тоже опасность не велика, у меня мак следовательно вирусы отпадают. А пароли в шифрованой базе и контакта с ними кроме как через буфер обмена системы я не имею.
Василий Наумкин
18 января 2013, 14:13
0
Тут уже другая опасность — 42 символа никто не запоминает, а хранит где-то.

Пару раз разбирался со взломанным хостингом, когда утекали пароли из-за вирусни на компе.
Alex Vakhitov
18 января 2013, 13:52
0
Да тылы это самое главное (:

Сам посмотрел и удивился числу попыток авторизации на серваке где вход по паролю

35 Jan 6
604 Jan 7
496 Jan 8
279 Jan 9
925 Jan 10
456 Jan 11
643 Jan 12
19 Jan 13
139 Jan 15
458 Jan 16
176 Jan 17
357 Jan 18

Но думаю случайно генерированное имя и пароль в 42 случайных символа займут слишком много времени на подбор
Andrei Kilin
18 января 2013, 11:41
0
У меня такие же цифры, т.к. пользую твои настройки сервера =)
Іван Клімчук
18 января 2013, 10:01
0
В комментах уже ответили, как решить проблему, только зачем дату пихать в TV, если в таблице с ресурсами хватает полей для дат? Опишите ваш кейс (частный случай), пожалуйста.
Denys Butenko
18 января 2013, 08:32
0
Верно, немного сам додумал
Василий Наумкин
18 января 2013, 08:30
0
По задаче нужно сегодня, а не за один день месяца по всем годам и месяцам.
Denys Butenko
18 января 2013, 07:33
0
Как вариант еще можно:
$q->where(DAY(TV.value) = DAY(CURDATE()));
Василий Наумкин
18 января 2013, 07:08
0
1. Более-менее нормальный вариант, при условии, что на всех страницах фильтр одинаковый (а тогда и mFilter не особо нужен), это сгенерировать фильтр, скопировать его html и рассовать руками по шаблону внутри формы.

У него будут определённые классы и id на которые будет реагировать родной js. По другому — только свой фильтр делать.

2. Там указывается чанк для вывода, используются сниппеты getPage + getResources. В чанке, соответственно, нужные плейсхолдеры прописать, а ненужные — удалить.

3. Сбросить фильтр можно на js — пройтись по всем переключателям и выстваить в дефолтное положение, или проще, при клике по специальной ссылке:
document.location = document.location;
Но тут будет перезагрузка страницы.
Василий Наумкин
18 января 2013, 07:00
1
0
Вот тебе сниппет getTodayIds, который присоединяет таблицу с ТВ и выбирает по ней подходящие id.
Нужно указать id ТВ с датой
<?php
$tvid = 1; // id ТВ с датой
$date = date('Y-m-d'); // Сегодня

$q = $modx->newQuery('modResource');
$q->leftJoin('modTemplateVarResource', 'TV', 'modResource.id = TV.contentid AND TV.tmplvarid = '.$tvid);
$q->select('modResource.id');
$q->where('DATE(TV.value) = "'.$date.'"');

if ($q->prepare() && $q->stmt->execute()) {
	$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
	return implode(',', $ids);
}

Вызываем в getPage:
[[!getPage?
	&element=`getResources`
	&resources=`[[!getTodayIds]]`
]]