Всего 122 759 комментариев

Wassi Wassinen
10 апреля 2015, 21:49
0
Ты бы хоть ознакомился. :) Это подробный мануал по написанию своих дополнений. Без «рассылок» и нечисти. Хочешь — учишься и делаешь сам, не хочешь или не можешь — оплачиваешь труд других. :)
Никита
10 апреля 2015, 21:45
-2
Алексей, все хорошо, в ваших тренингах по шопкиперу и рассылке всякой нечисти юзерам, нет необходимости и не стоит каждого, кому нужна помощь, тыкать лицом в… курсы
Алексей Карташов
10 апреля 2015, 21:27
0
Пфф, тогда не удивляйся, что никто не помогает.
Никита
10 апреля 2015, 21:22
-3
Training? No, Thanks

Александр Наумов
10 апреля 2015, 21:14
0
Отлично и спасибо!
Итого 15000. Осталось 5000.
Wassi Wassinen
10 апреля 2015, 21:14
+1
Вопрос: можно ли сделать у тикетов несколько веток комментариев для одного ресурса, как в easyComm?
Алексей Карташов
10 апреля 2015, 21:14
0
Вот то, что точно поможет тебе стать лучше:
bezumkin.ru/training/
:)
Wassi Wassinen
10 апреля 2015, 21:12
+3
Готов внести 5К.
GrinRom
10 апреля 2015, 20:56
0
Я хочу сделать так, чтобы он мне через эти функции создавал новый объект newEraChange в базе. Если сделать просто $this->save(); Как он поймет, что именно этот объект надо создать? И в таком случае, необходимо ли все переменные(поля в БД) заявлять через public?
GrinRom
10 апреля 2015, 20:50
0
Спасибо, Василий!
Идея сделать так, чтобы я мог через классы вносить корректировки в базу(они лежат в отдельной таблице и требуют подтверждения со стороны других пользователей с более высоким уровнем доступа). Хочу перестать каждый раз копипастить код а сделать все в 1 классе.
Я перечитал все Ваши уроки и пол интернета перерыл. Подскажите, пожалуйста, как правильно подключить свой класс?
Я правильно понимаю, что они вписываются в модели -> model/new_era/…?

И еще, не работает только save(), без проблем работает print_r($this->toArray()); из сниппета, либо getObject
Никита
10 апреля 2015, 20:42
0
Исключил то, на что вы указали, но лучше от этого не стало
$q = $modx->newQuery('modUser');
$q->innerJoin('modUserProfile', 'Profile');
$q->where(array(
    'Profile.photo:!=' => "nophoto.jpg",
));
$result = $modx->getCollection('modUser', $q);
foreach ($result as $user) {
echo $myusername = $user->username.'
';
}
Зачем нужен селект, если username можно получить просто
Тут вы правы

А это чтоб врагов запутать?
Я бы не сказал, что мне есть кого путать, да и как по-другому выбрать значение поля fax

З.Ы. Вы помогаете мне стать лучше
Wassi Wassinen
10 апреля 2015, 20:39
0
Ну просто сказка! Спасибо, Василий! Отправил благодарность.
Василий Наумкин
10 апреля 2015, 20:37
0
Ты внутри newEraChange создаёшь еще один newEraChange и сохраняешь его.

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

Но вообще, судя по ошибкам в логе, у тебя вообще модель компонента не грузится и работать с этими объектами ты не сможешь, пока это не исправишь.
GrinRom
10 апреля 2015, 20:07
0
Кое-как вывел ошибки:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '() VALUES ()' at line 1' in /var/www/monitor/public/core/xpdo/om/xpdoobject.class.php:1448 Stack trace: #0 /var/www/monitor/public/core/xpdo/om/xpdoobject.class.php(1448): PDOStatement->execute() #1 /var/www/monitor/public/core/components/new_era/model/new_era/newerachange.class.php(20): xPDOObject->save() #2 /var/www/monitor/public/core/cache/includes/elements/modsnippet/96.include.cache.php(25): newEraChange->IniChanges() #3 /var/www/monitor/public/core/model/modx/modscript.class.php(70): include('/var/www/monito...') #4 /var/www/monitor/public/core/model/modx/modparser.class.php(513): modScript->process(NULL) #5 /var/www/monitor/public/core/model/modx/modparser.class.php(247): modParser->processTag(Array, true) #6 /var/www/monitor/public/core/model/modx/modresponse.clas in /var/www/monitor/public/core/xpdo/om/xpdoobject.class.php on line 1448
Но никак не удается сохранить
Сергей Шлоков
10 апреля 2015, 19:21
+2
Мда. Как же это можно написать такой код, когда и тут, а на rtfm.modx.com и на bezumkin.ru куча примеров и образцов.
Внутри foreach переменная $user перебивается — была объектом modUser, а стала modProfile. А обращение идет как к modUser.
Зачем нужен селект, если username можно получить просто
$myusername = $user->username;
А это чтоб врагов запутать?
$rating = $user->get('fax');
Ужас, ужас.
Wassi Wassinen
10 апреля 2015, 19:17
+1
В тех же отзывах можно предложить поле со списком, радиокнопками и т.д., для оценки конкретных показателей (да/нет). В вопросах можно будет дорабатывать поля под конкретные нужды (добавлять тему вопроса тем же списком, вписать номер заказа и проч.). Это так, навскидку.
Василий Наумкин
10 апреля 2015, 19:15
0
Надо уже как-то определяться, «на ты» или «на вы» мы общаемся. А то в сообществе одно, в поддержке другое, а на почте как получится.

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

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

Ну и вообще, стоит убедиться, что menutitle везде заполнен, потому что mySql не подставит pagetitle вместо пустого menutitle как сниппет pdoMenu.