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

Ваня
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
Ваня
01 декабря 2012, 15:07
0
А вот так в Articles сделано
Ваня
01 декабря 2012, 15:06
0
Вот я когда-то себе делал
<?php
if ($modx->event->name == 'OnPageNotFound') {

if ($modx->getOption('friendly_urls')) {
    if (!function_exists('cleanArray')) {
        function cleanArray($array) {
            $Result = array();
            foreach ($array as $key => $value) {
    	        if ($value != '')
    	            $Result[] = $value;
    	    }
    	    return $Result;
    	}
    }
	$url = cleanArray(explode('/',$_SERVER['REQUEST_URI']));
    
    if ($url[count($url)-1] == 'compare') {
    	$modx->sendForward(118);
    }
}

}
Форвард на ресурс с ID 118

А уже на этом ресурсе проверяется сниппетом URL и возвращается результат
Сергей Лелеко
01 декабря 2012, 14:46
0
Спасибо большое! Теперь хотя бы пользователи пытаются все создаться… Щас буду смотреть в чем именно ошибка при создании и почему она пустая.
Peter Zenin
01 декабря 2012, 11:04
0
Спасибо, посмотрю, а где там искать примерно?
Ваня
01 декабря 2012, 05:18
0
Всё правильно вы делаете!
А для примера можете посмотреть плагин от компонента Articles, там есть разбор URL и вся логика
Ваня
01 декабря 2012, 05:16
0
У вас тут грубые ошибки

Должно быть как-то так:

<?php
$modx->addPackage('leleko-cdb', $modx->getOption('core_path').'components/leleko-cdb/model/','modx_leleko_');
$users_data_arr = $modx->getCollection('CdbOrg');

foreach ($users_data_arr as $usr_data) {
	$username = $usr_data->get('inn');
	$password = $usr_data->get('passwd');

	$write_usr_data = $modx->runProcessor('/security/user/create', array(
		'username' => $username,
		'password' => $password
	));
	if ($write_usr_data->isError()) {
		$modx->log(modX::LOG_LEVEL_ERROR, 'register user error. Username: '.$username.', Message: '.$write_usr_data->getMessage());
	}
}
Иван Тимофеев
30 ноября 2012, 20:56
0
у меня всегда есть что сказать) всегда поражали люди которые не зная ничего по теме хотят быстренько и бесплатно все сделать. ладно в политике может это прокатить, у директоров во всяких предприятиях например ростелеком — достали гады. но не в программировании это точно ;))

ознакомьтесь по теме habrahabr.ru/post/133801/

Тема оформления стандартная, от Sencha ExtJS, опять же, можно менять как угодно.
Вопрос как менять? Если в других случаях можно скопировать соответствующий чанк, как в вышеприведенном tpl.msGoods.row и заменить на свой, с использованием своего стиля и соответствующих плейсхолдеров. То в случае «Если вы не знаете ExtJS, лучше тут ничего не менять» что делать?
сам ExtJS врядли вы поменяете)))
СикретНаме
30 ноября 2012, 20:49
0
Не проканало. Всё чётко, походу. сделано. Смена шлюза на ip даёт пропинговать локаль, инет отрубается, вернул шлюз — пингует и локаль и инет + доступы серва всё равно не вкатили.
СикретНаме
30 ноября 2012, 20:44
0
Дык, не пущает, грю же. Сейчас попробую одну позу, вдруг встанет)