Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
11 апреля 2015, 05:10
0
Должно работать вот так:
[[!ms2Gallery?
	&parents=`0`
	&frontend_js=``
]]
Василий Наумкин
10 апреля 2015, 20:37
0
Ты внутри newEraChange создаёшь еще один newEraChange и сохраняешь его.

Не знаю, что там у тебя за логика, но выглядит это совсем не здорово. Может, ты хотел применить эти данные к текущему объекту?
public function IniChanges() {
	$this->fromArray($this->data);
	$this->save();
	print_r($this->toArray());
}

Но вообще, судя по ошибкам в логе, у тебя вообще модель компонента не грузится и работать с этими объектами ты не сможешь, пока это не исправишь.
Василий Наумкин
10 апреля 2015, 19:15
0
Надо уже как-то определяться, «на ты» или «на вы» мы общаемся. А то в сообществе одно, в поддержке другое, а на почте как получится.

Поэтому, держи новую версию сниппета — code.re/7IG
[[!Test?
	&rows=`0,3,4`
	&input=`1||2||3||4||5||6`
	&separator=`||`
]]
Номера строк нужно указывать от нуля — именно так они идут в массиве.

Заодно добавил еще возможность указания разделителя строк. Если пустой — то будет разбиваться как обычно, по переносам.
Василий Наумкин
10 апреля 2015, 18:20
+1
Можно попробовать указать явно таблицу:
&sortby=`msCategory.menutitle`

Ну и вообще, стоит убедиться, что menutitle везде заполнен, потому что mySql не подставит pagetitle вместо пустого menutitle как сниппет pdoMenu.
Василий Наумкин
10 апреля 2015, 13:37
+2
$arr = explode(',', $ids);
Здесь передаётся строка и в ней запросто может быть лишний пробел.

Я делаю так:
$arr = array_map('trim', explode(',', $ids));

Ну и дальше нужно добавить проверку, иначе при неверном id будет fatal error:
if ($captionTv = $modx->getObject('modTemplateVar', $tvID)) {
	$captionVal = $captionTv->get("caption");
	$val = $modx->resource->getTVValue($tvID);
	print '<tr><td>'.$captionVal.'</td><td>'.$val.'</td></tr>';
}
else {
	print 'Не могу получить ТВ c id = ' .  $tvID;
}
Василий Наумкин
10 апреля 2015, 08:47
0
Не, наоборот. eventsCalendar был вообще моим первым готовым дополнением для MODX.
Василий Наумкин
10 апреля 2015, 07:42
1
0
Очень рад, что кто-то вспомнил про замечательный fullCalendar.

Я тоже делал что-то подобное давно, но потом забросил.
Василий Наумкин
10 апреля 2015, 06:21
0
Да, у всех сниппетов, которые могут работать как фильтр вывода, есть параметр &input.

Вот документация.
Василий Наумкин
09 апреля 2015, 20:01
+1
ms2Gallery работает с любыми файлами, если они разрешены в настройках источника медиа. То есть, он может работать с локальной файловой системой или удаленными сервисами, типа Amazon S3.

Со всем остальным спорить не буду. Если тебе так проще и удобнее — на здоровье.
Василий Наумкин
09 апреля 2015, 19:01
+1
Мне не очень нравится использовать ТВ, потому что это строки в БД c типом text. В них можно хранить много данных как JSON, но в нём трудно искать и сортировать.

Поэтому для работы с файлами в miniShop2 была разработана специальная галерея, продвинутая версия которой давно доступна отдельным дополнением.

По моему, она уже умеет всё, что ты хочешь, и гораздо больше сверх того.

Нет только интеграции с редакторами, но это потому, что их я тоже не очень люблю, и предпочитаю вставлять в текст плейсхолдеры ручками.

В общем, ты уверен, что делать работу с файлами при помощи ТВ это вообще хорошая затея?
Василий Наумкин
09 апреля 2015, 18:50
0
Нужно выбрать товары с vendor = 22 и приджоинить к ним msCategory через msCategoryMember.

Один запрос c двумя join, можно сделать через pdoResources.
Василий Наумкин
09 апреля 2015, 15:46
+1
Можно попробовать авторизовать без процессора, это должно быть быстрее и удобнее.
if ($user = $modx->getObject('modUser', 10)) {
	$modx->user = $user;
	$modx->user->addSessionContext('web');
}
Василий Наумкин
09 апреля 2015, 11:11
0
Нужно хорошенько почистить кэш браузера, потому что изменился default.js.

Ну и проверь ошибки в консоли браузера.
Василий Наумкин
09 апреля 2015, 09:15
1
0
Он говорит о том, что в Tickets при создании комментария все нестандартные поля формы добавляются в properties и их потом можно как-то использовать.

Исходник.
Василий Наумкин
09 апреля 2015, 09:07
0
Потому что используется чанк от комментариев на странице юзера, а там ссылка не нужна.

Сделал отдельный чанк.
Василий Наумкин
09 апреля 2015, 06:40
0
Потому что эти чанки нужны в разное время.

Цикл перебирает массив результатов и запрашивает чанки, когда они нужны. То есть, это не время загрузки чанка, а время, которое прошло с предыдущего этапа работы.

Первая строка, середина массива, и последняя строка. Можно сказать, что весь массив был оформлен за 0.004 + 0.048 + 0.205 сек.
Василий Наумкин
08 апреля 2015, 17:09
0
Оплата прошла, жду данные.
Василий Наумкин
08 апреля 2015, 16:21
0
Оплачивай здесь 2000 р., затем присылай доступы в админку сайта на bezumkin@ya.ru и простое ТЗ, где и как выводить товары.

Завтра сделаю.
Василий Наумкин
08 апреля 2015, 15:58
+2
Подвох в том, что ты передаёшь строку, разделённую запятыми.

Просвещайся — www.php.su/explode.