Вход

Просмотр полной версии : ссылка на авторизацию


elezeo
29.10.2011, 23:04
Казалось бы что может быть проще, чем просто создать ссылку в личный кабинет, однако у меня возникли трудности.
Вот что я хочу. У меня имеется страница для Авторизации пользователя, закрытая страница Личная информация и ссылка в общем меню Кабинет пользователя. Все это представлено в виде такой структуры:
- Авторизация (стр. с эл. felogin НЕ ОТОБРАЖАТЬ В МЕНЮ)
- Кабинет пользователя (ссылка на стр. "Личная информация")
- Личная информация (стр. только для залогиненых пользователей)
ну и другие пункты меню.
Так вот, когда страница Кабинет пользователя имеет тип ссылка с указанием на закрытую страницу, то она не отображается в меню. А мне именно в меню надо ее отобразить.
Идея была такая. При нажатии на страницу Кабинет пользователя должна открываться Личная информация, но если пользователь не авторизован, то его нужно сначала направить на авторизацию, а потом уже после авторизации отправить на стр. Личная информация.
Подскажите как правильно настроить!?

elezeo
30.10.2011, 00:07
Ладно. С этой нехитрой задачей я разобрался. Сделал вот так.
- Авторизация (стр. с формой входа)
- Кабинет (ссылка на Авторизация. Доступ: Скрыть при входе)
- Кабинет (ссылка на Личная информация. Доступ: Виденен при входе)
- Личная информация (Доступ: Виден при входе)
-----------------
Теперь другая проблема.
На страницу Личная информация поместил плагин "Регистрация пользователя" с режимом отображения "Правка". Но вместо того, чтобы видеть сразу форму редактирования он мне дает ссылку на открытие страницы редактирования. А оно мне надо? Как сделать, чтобы страница отображалась сразу в режиме редактирования. Может шаблон изменить или как?

dmartynenko
31.10.2011, 13:26
На страницу Личная информация поместил плагин "Регистрация пользователя"

Какой экст используете?

elezeo
31.10.2011, 17:05
sr_feuser_register

dmartynenko
31.10.2011, 17:28
А в настройках плагина (FlexForm) что у вас указано? Должно быть Display mode: Edit.

elezeo
31.10.2011, 19:25
Да. именно так. В настройках плагина установлен режим отображения EDIT (Правка). Но дело в том, что форма редактирования открывается только если в УРЛ передаается команда редактирования. Если же просто открыть страницу, то Показывает ссялку
Click here to edit your profile or delete your account.

Андрей Аксенов
01.11.2011, 12:08
По-моему, как обычно - лезешь в исходники, параллельно списываясь с разработчиком...

dmartynenko
01.11.2011, 12:23
У меня в BE указан EDIT и выводиться форма. В исходниках тоже так:

case 'edit':
$this->marker->addGeneralHiddenFieldsMarkers($markerArray, $cmd, $token);
$content = $this->display->editScreen(
...


А у вас идет по этой ветке (createScreen):

case 'invite':
case 'create':
$this->marker->addGeneralHiddenFieldsMarkers($markerArray, $cmd, $token);
$content = $this->display->createScreen(
...


PS: Но версии экста могут быть разные и логика поведения тоже.

elezeo
01.11.2011, 14:25
Да, Вы все верно говорите.
Я установил
plugin.tx_srfeuserregister_pi1.defaultCODE=EDIT
В общем шаблоне - и форма появилась. А вот изменение режима во флексформе результата не дает никакого. Также результата не дала строка
plugin.tx_srfeuserregister_pi1.defaultCODE=EDIT
прописанная в TS страницы - видимо эта TS для других целей.))
Но в целом результат я получил.
Благодарю.

И еще такой момент по той же теме. У меня когда время сессии истекает у пользователя и при попытке обновить страницу пользователя TYPO3 выдает ряд эксепшенов, вместо того, чтобы направить пользователя на страницу авторизации. У меня в константах прописаны ПИДы страниц в том числе loginPID. Это бага или просто надо что-то еще шаманить?


The requested page didn't have a proper connection to the tree-root!

Андрей Аксенов
01.11.2011, 14:31
шаманить здесь полюбас нужно :D я вообще себя программистом не считаю, но.... приходится им быть...это действительность.

elezeo
01.11.2011, 16:11
В общем разобрался почему ошибка)))
Я структуру ссылок сделал вложенную (см. сабж выше)
- Кабинет (ссылка на Личные данные)
--- Личная информация
Ну по логике Тайпо3 он должен был по рутлайну подняться на Кабинет. А тама проверка (не является эта страница ссылкой). Ну вот он проверку проходит =) и снова попадает на Личные данные, ну а там защита, мол "че прешься, ты тока что от сюда вышел". Переделал структуру - все зарботало.

Только вот заставить его идти на авторизацию, если страница требует входа я не смог.

PS: Без бутылки не разбересся... Надо быть шизиком, чтобы так глубоко кавыряться в кишках этого чуда-движка)))

elezeo
01.11.2011, 16:31
О! Хитро, но работает. Ну это уже вообще супергениальность.
Здравому человеку разве прийдет это в голову?)))
Вот оно:
- 1) Кабинет (ссылка на Авторизация. скрыть при входе)
--- 3) Авторизация (Не в меню)
--- 4) Личные данные (Виден при входе)
--- 5) Другое меню пользователя (Виден при входе)
- 2) Кабинет (Ссылка на Личная информация. Виден при входе).
--------------
Работает ся конструкция так. Сначала в меню виден пункт Кабинет (1). При нажатии попадаем на авторизацию(3). Успешная авторизация переносит нас на Личная информация (4). При Выходе нас кинет вверх по рутлайну на Кабинет (1), а тот по своей ссылке на Авторизация (3). При попытке войти незалогинено на страницу 4 или 5 произойдет тоже самое - вверх по рутлайну и на авторизацию.

Если Вы знаете менее гениальные способы - пишите.

dmartynenko
01.11.2011, 17:43
Вариант попроще - на странице "Кабинет" (видна всегда) сделать блоки с аналогичными настройками видимости - "Авторизация" (без входа) и "Личные данные" (после входа). Тогда надобность в страницах 2,3,4 отпадет.

PS: Вот что хитро - так это когда понадобилось в письме, которое рассылает cli скрипт по крону, сделать ссылку на страницу которая видна только после логина на сайт :)