Всего 123 782 комментария

Ваня
03 декабря 2012, 22:17
0
Еще бывает некоторые отключают чанки, сниппеты, тв и т.д. которые им пока не нужны в ресурсе или в шаблоне или чанке, просто изменив имя или добавив любой символ, что есть совсем не правильно, т.к. парсеры тратит много времени на поиски этого элементы, попробуйте сами на чистом шаблоне поэксперементировать.

выключать такие элементы нужно знаком "-" после [[, т.е. чтобы получилось вот так примерно [[-$chunk]] [[-snippet]] [[-*tv]]
Василий Наумкин
03 декабря 2012, 17:54
0
Ставлю на разных сайтах прямо из репозитория MODX — нет проблем.

Можете проверить на modx-test.com
Василий Наумкин
03 декабря 2012, 17:51
0
Смотрите свои чанки элемента каталога, наверняка там гора условий и фильтров.
ra
ra
03 декабря 2012, 16:56
0
Вроде бы отключил phpthumbof, но parse time всё равно на уровне 8 секунд, при том что сайт на отдельной мощной вдске
Алексей Марунин
03 декабря 2012, 00:49
1
0
Да, я помню в свое время долго ломал голову, пока не добрался до этого пресловутого 'passwordnotifymethod' :) Сожалею, что не увидел ваш вопрос вовремя. Тем не менее, пару моментов все же отмечу:

Для начала корректно обрабатываем ошибки при регистрации:

// Запускаем стандартный процессор регистрации
$response = $this->modx->runProcessor( 'security/user/create', $options );
if ( $response->isError() ) {
	// Получаем весь набор ошибок (например, не задано имя пользователя, пустой пароль и т.д.)
        $errors = $response->response['errors'];
	foreach ( $errors as $error ) {
		$errorMsg = $error['msg'];
		// Выводим сообщение об ошибке в лог или плейсхолдер
	}
}
else {
	// А здесь все замечательно, получаем массив 
	// с параметрами пользователя (не объект типа modUser!)
	$userArray = $response->getObject();
}


Далее. Добавление в группу при регистрации тоже простое:

// Получаем идентификаторы групп и ролей, используемых по умолчанию
// Группу Registered заменить на нужную (она должна быть заранее создана!)
$group = $this->modx->getObject( 'modUserGroup', array( 'name' => 'Registered' ) ); 
$userGroup = $group->get( 'id' );
$role = $this->modx->getObject( 'modUserGroupRole', array( 'name' => 'Member' ) );
$userRole = $role->get( 'id' );

...
// При вызове процессора обратите внимание на второй параметр - $options.
// В него нужно добавить следующий элемент:
$options['groups'] = array( array( 'usergroup' => $userGroup , 'role' => $userRole ) );
// По аналогии можете созданного пользователя добавлять сразу в несколько групп с различными ролями

Надеюсь, помог :) Ибо сам буквально недавно «варился» в этом очень основательно :)
Дмитрий Кудинкин
02 декабря 2012, 19:23
0
Пересобрал с гит. Поставил на чистую. Все тоже самое.
Denys Butenko
02 декабря 2012, 17:26
0
Это непонятная ошибка. У меня при разных версиях пакета она или появляется или исчезает. Попробуйте пересобрать пакет с гитхаба и установить заново, предварительно удалив старый из системы, вместе с таблицами.
Дмитрий Кудинкин
02 декабря 2012, 14:31
0
Столкнулся с таким:

[2012-12-02 14:18:16] (ERROR @ /assets/components/tickets/connector.php) Encountered empty IN condition with key resource
[2012-12-02 14:18:16] (ERROR @ /assets/components/tickets/connector.php) Error 42000 executing statement:
Array
(
[0] => 42000
[1] => 1064
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY `TicketComment`.`createdon` DESC LIMIT 20' at line 1
)

Раздел с тикетами создается, но таблица pgt_tickets_threads пуста. С локалями вроде все в порядке.
Подтолкните в нужном направлении…
Ваня
02 декабря 2012, 03:52
0
Это ужас! Будет тормоз конкретный. Перепешите на свой сниппет
Сергей Лелеко
02 декабря 2012, 00:48
0
Долго ковырял создание через процессор, в итоге выяснил что пользователи не все создаются и время работы скрипта затягивается до отсечки изза того что каждому пользователю пытаются отправится еmail собщения с паролем. Пробовал
'passwordnotifymethod' => 'e'
выставить
'passwordnotifymethod' => 's'
, но в таком случае создается только 1 пользователь, а информация о том что созданы все остальные только падает в эррор лог modx.
Так что решение какое-то полурабочее получилось.

Единственное что нашел тут вариант создания пользователя через апи. Пользователи создаются на лету, но не получается их добавить в группу сразу же из сниппета. Надеюсь с этим разобраться.
Сергей Лелеко
01 декабря 2012, 21:03
0
Ваше решение пока не пробовал ибо не разобрался до конца, но максимум чего удалось достигнуть так это регистрации 137 пользователей (всего 390). И в эррор логе системы пусто не могу понять чего не хватает.
Владимир Ребров
01 декабря 2012, 18:43
0
Да...menu, не потому, что меню, а потому, что — список блюд:)
Владимир Ребров
01 декабря 2012, 18:37
0
В общем сделал так:
в чанке дерева вызываю сниппет для вывода первого уровня
[[!getResources? &parents=`19` &tpl=`menu-list-tpl` &depth=`0` &limit=`1000` ]]
в указанном шаблоне menu-list-tpl вывожу тайтл ресурсов первого уровня и опять вызываю сниппет,
указывая родителем ресурс из текущей итерации верхнего getResources
[[+pagetitle]]
[[!getResources? &parents=`[[+id]]` &tpl=`sub-menu-list-tpl` &includeTVs=`1` &processTVs=`1` &limit=`1000` ]]
в sub-menu-list-tpl вывожу то, что нужно для ресурсов 2 уровня(тайтл, тв-параметры).
Дальше дело за CSS.
Илья Уткин
01 декабря 2012, 17:47
0
Если не хватает времени или памяти, попробуйте такое решение — пусть создает по три пользователя за запрос.
Peter Zenin
01 декабря 2012, 15:33
0
Спасибо большое!
Ссылку получил
Сергей Лелеко
01 декабря 2012, 15:29
0
совсем забыл что есть пользователи с 0000000000 вместо уникального номера, которых мне обрабатывать не нужно. Видимо как раз при попытке создать второго пользователя с таки же логином и выдается ошибка и дальнейшее создание пользователей уже не происходит.
Сергей Лелеко
01 декабря 2012, 15:14
0
Нашел вот какой момент, пользователи не регистрировались пока не внес такие изменения:
foreach ($users_data_arr as $usr_data) {
$username = $usr_data->get('inn');
$org_name = $usr_data->get('organization');
$password = $usr_data->get('passwd');
$response = $modx->runProcessor('/security/user/create', array(
'username' => $username,
'fullname' => $org_name,
'email' => 'test@com.ru',
'newpassword' => TRUE,
'specifiedpassword' => $password,
'confirmpassword' => $password,
'passwordnotifymethod' => 'e'
));
И 3 пользователя на ура создаются!!! Правда только 3 и дальше ошибки пишутся в лог но ошибка пустая также, так что теперь я в замешательстве… Почему же 3 пользователя все-таки создаются? Значит решение работает но чего-то не хватает толи памяти толи времени выполнения.
Ваня
01 декабря 2012, 15:08
0
Ссылку съел Jevix