Максим Кузнецов

Максим Кузнецов

С нами с 01 июля 2013; Место в рейтинге пользователей: #27
Максим Кузнецов
22 мая 2015, 12:46
1
+1
Тоже самое. Временно пофиксил таким решением:

Создал плагин adminStyles на событие OnManagerPageInit
<?php
	if ($modx->event->name != 'OnManagerPageInit') return;
	$modx->regClientCSS('/design/admin.css');
И в вышеописанном ксс-файле добавил строчку
.ace_editor {width: 100% !important;}
Максим Кузнецов
21 мая 2015, 20:46
0
Та же фигня. Вообще, посмотрев код, заметил аргумент ['month'] — скорее всего, корректно дополнение начинает работать только спустя месяц.
Максим Кузнецов
16 мая 2015, 22:00
0
Выдает [2015-05-16 21:58:47] (ERROR @ /index.php) Could not load class: VoteFormThread from mysql.voteformthread. ..(
Максим Кузнецов
16 мая 2015, 15:16
0
Подскажите, пожалуйста, можно ли привязать рейтинг к mFilter2, вызывающий товары minishop2 посредством Join'ов?

[[!mFilter2? &suggestions=`0` &showLog=`1` &limit=`25` &select=`{"Data":"[[!getProductDataFields]]"}` &paginator=`pdoPage@Pagination` &class=`msProduct` &element=`msProducts` &depth=`0` &toPlaceholders=`mse2_` &includeThumbs=`70x70` &showEmptyFilters=`0`
	&filters=`[[*category_filters]]`
	&sort=`price:asc`
	&where=`{"class_key":"msProduct"}`
	&leftJoin=`{
		"VoteFormThread": {
		"class": "VoteFormThread",
		"on": "msProduct.id = VoteFormThread.resource AND VoteFormThread.form = 1"
		}
	}`
	&select=`{
		"msProduct": "*",
		"Vendor": "*",
		"70x70": "*",
		"VoteFormThread": "rating"
	}`
	]]
Максим Кузнецов
09 мая 2015, 10:17
0
В системных настройках тикетсов есть параметр источника файлов — через них и идет фильтрация изображений при загрузке.
Максим Кузнецов
07 мая 2015, 09:38
0
Там не только верстка, но и куча слайдеров, форм отправки, расчетов и каталог товаров с выбором цветовых вариантов и прочих мелочей.

Навскидку, стоит 25-30к и недели полторы работы если не на 8 часов в день.
Максим Кузнецов
05 мая 2015, 08:10
+3
Разве xPoller — не просто опросник? Здесь же, насколько я понял, возможно реализовать систему рейтингов. Имхо, очень полезная штука, учитывая весьма устаревшие аналогичные модули.
Максим Кузнецов
22 февраля 2015, 17:56
0
мм, могу ошибаться, но разве
echo "[[$html.head]]";
— не выдаст желаемый результат в плагине?
Максим Кузнецов
20 февраля 2015, 21:25
0
Мм, что мешает вызывать их при помощи pdoResources «старым» способом через Join'ы?

[[pdoResources? &loadModels=`ms2gallery` &limit=`0` &sortby=`rank` &sortdir=`ASC` &class=`msResourceFile` &tpl=`gallery.Item` &context=`перечисляем контексты`
	&where=`{"parent": 0, "active": 1, "resource_id": (айди ресурса, из которого достаем)}`
	&leftJoin=`{
		"75x75":{"class":"msResourceFile","alias":"75x75", "on":"75x75.parent=msResourceFile.id AND 75x75.path LIKE '%/75x75/'"}
	}`
	&select=`{
		"msResourceFile":"*"
		,"75x75":"75x75.url as 75x75"
	}`
]]

— единственная сложность — связывать соответствующие айди ресурсов из разных контекстов и передавать их в сниппет, ну да это, думаю, решается за счет плагина.

upd: упс, пардон, привел пример для ms2gallery, но для msgallery можно реализовать по аналогии join'ами.
Максим Кузнецов
20 февраля 2015, 18:41
1
+1
так и вызываете — [[!today]]. В крайнем случае, если вдруг это не сработало, в сниппете today можно заменить возвращаемое значение, на выставление плейсхолдера:

today
$modx->setPlaceholder('todayPlaceholder',date("U"));

и вызывать в шаблоне:
[[!today]] //просто выполнит сниппет, ничего не возвращая

[[+todayPlaceholder]] //в нужном месте - выведет только значение, без обработки

+ я так понимаю, т.к. у вас страница с вызовом — это «событие» календаря, то необходимо смотреть tv-параметр, по которому определяется дата «проведения» события, а не его создания в админке. И тогда вам или нужно преобразовать дату из tv в unix-формат (фильтром :strtotime) или настроить формат «вывода» в настройка тв-параметра.
Максим Кузнецов
20 февраля 2015, 18:06
+1
js не позволит скрыть его совсем.

Вам потребуется внешнее условие, для простоты, допустим, оно может быть задано с помощью фильтров + минимальной логики.

Допустим, создаем сниппет today со следующим кодом:

return date("U");
— который выведет текущую дату в unix-формате. А дальше, при помощи фильтров сравниваем приведенную к этому же формату дату события и, если она меньше today-даты — выводить «прием заявок окончен», иначе — форму заявки.
Максим Кузнецов
20 февраля 2015, 11:19
0
Просто подумал, что у такого сниппета высокий порог вхождения, вот и назвал для наглядности..)
Y.O.B.A.
Максим Кузнецов
20 февраля 2015, 11:15
0
пхаха)) ну… простите…
Максим Кузнецов
20 февраля 2015, 10:15
1
+1
Смотри, все довольно просто. Создаешь свой сниппет, допустим, yoba1 с кодом:

<?php
	if ($modx->resource->hasChildren() != 0) { //смотрим кол-во потомков ресурса
		$params = array(); //перечисляем в массиве параметры сниппета
		$params['level'] = 2;
		$params['outerClass'] = 'side-menu';
		$params['tplParentRow'] = '@INLINE <li[[+classes]]><h3 [[+attributes]]>[[+menutitle]]</h3>[[+wrapper]]</li>';
		
		$result = $modx->runSnippet('pdoMenu', $params); //вызываем сниппет pdoMenu с нужными параметрами
	}
	else {
		$params = array();
		$params['parents'] = 52;
		$params['depth'] = 0;
		$params['tpl'] = 'tpl.SideNews';

		$result = $modx->runSnippet('pdoResources', $params);
	}
	return $result; //возвращаем результат

И вызываешь в нужном месте [[!yoba1]]. Итог: в 2 раза меньше запросов к бд.
Максим Кузнецов
20 февраля 2015, 09:53
0
В вашем примере вы можете воспользоваться плейсхолдером results и выводить в условии уже результаты.
Но… «вложенные условия» работают несколько иначе, чем в php, а именно — [[действия]] срабатывают «изнутри», т.е. сначала срабатывают все внутренние сниппеты/чанки, а уже потом — внешние.

Грубо говоря, в вашем примере сначала 2 раза срабатывает pdoResources, а уже потом условие. Из-за этого при генерации страницы обрабатываются ненужные запросы. Лучший выход при таких задачах (имхо) — писать свой сниппет на пшп, где используются обычные условия if else, а уже внутри — запускаются сниппеты.