Нужна помощь в регистрации и создании страниц пользователей

Всем привет.

Нужна помощь с doclister и formlister. Я застрял и у меня не получается следующее:

1. Регистрация пользователя с доп.полями.
Сейчас я могу зарегистрировать пользователя, логин — email, пароль
Нужно к пользователю прикрепить два доп.поля — имя и адрес сайта

2. Создание страницы авторизованным пользователем.
Сейчас пользователь может создать страницу в заданной категории с полями pagetitle.
При этом, страница почему-то в древе документов создается два раза и в базу не записывается информация, кем документ создам
Нужно создавать документы с доп.полями. Я создаю TV, но в них не записываются данные

3. Нужно выводить документы, созданные пользователем
Сейчас выводятся созданные документы н только с pagetitle
Нужно вывести документ с заполненными TV из пункта 2

4. Необходимо авторизованным и неавторизованным пользователям выдавать разные чанки.
Пробовал через сниппет personalize, но он у меня как-то неправильно работает

Кто может помочь? какие сроки и какая оплата?

Я так понимаю, вопросы несложные, но я сам справиться не смог

3 комментария

avatar
Вообще-то сложные вопросы, гемороя наловить — как два пальца.
1. «Нужно к пользователю прикрепить два доп.поля — имя и адрес сайта » — если не критично, пишите эти поля в уже имеющиеся поля пользователей в админке. Телефон там кстати есть.
Просто пишите поля при вызове контроллера и всё. И проверяйте его в &rules

"fullname":{
"required":"Вы забыли имя"
}

А в форме

<input type="text" name="fullname" value="[+fullname.value+]"> 


2. «Создание страницы авторизованным пользователем. „
А как вообще вы её создаёте? Пример нужен.

3. “Нужно выводить документы, созданные пользователем» вытекает из второго пункта.

4. «Необходимо авторизованным и неавторизованным пользователям выдавать разные чанки»
Создать сниппет LoginWidget

<?php
include_once (MODX_BASE_PATH . 'assets/snippets/DocLister/lib/DLTemplate.class.php');
include_once (MODX_BASE_PATH . 'assets/lib/APIHelpers.class.php');
$DLTemplate = DLTemplate::getInstance($modx);
$uid = $modx->getLoginUserID('web');
if (!$uid){
    $out = $DLTemplate->parseChunk($notLoginTpl,$modx,true);
} else {
    $userdata = $modx->getWebUserInfo($uid);
    $plh = array();
    foreach ($userdata as $key => $value) {
        $plh[$key] = $value;
        $plh['e.'.$key] = APIHelpers::e($value);
    }
    
	$out = $DLTemplate->parseChunk($isLoginTpl,$modx,true);
}
return $out;

И вызывать его примерно так:

[!LoginWidget?
¬LoginTpl=`notLoginChunk`
&isLoginTpl=`isLoginChunk`
!]
  • 1px
  • +1
avatar
спасибо за совет по п.4

в остальном мне уже помог Pathologic
avatar
А как же поделиться с общественностью? =)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.