Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 12.03.2004, 17:26   #1
KortS
Продвинутый
 
Регистрация: 13.01.2004
Сообщений: 30
По умолчанию Login form

После того, как пользователь залогиниться в FE, я хочу выводить меседж (goodMess) - \"You are logged in as <username>\".
1) Можно ли вывести имя пользователя таким образом: \"You are logged in as ###USERNAME###\"? У меня не работает. Насколько я понимаю эта строка (goodMess) ничем не парсается, потому она и не может вытянуть имя пользователя. Как это можна сделать?
2) Вопрос посерьезнее. Наверное это баг TYPO3. Пускай я хочу выводить сообщение только такого типа \"Login successful\". Проблема в том, что это сообщение выводиться в любом случае при нажатии на кнопку Login. Неважно, залогинился ли пользователь, или нет. Лишь бы ввел в поле Username какое-нибудь несуществующее имя и нажал кнопку Login. В связи с этим не работает вывод сообщения (badMess).
KortS вне форума   Ответить с цитированием
Старый 12.03.2004, 17:36   #2
Andreas Schwarzkopf
Senior Member
 
Регистрация: 14.08.2003
Сообщений: 416
По умолчанию

Со старым логином такие вещи невозможны.
В репозитории есть расширение \"Better login box\" или \"New login box\" - точно не помню. Эта штука дает намного больше возможностей.

Кстати - чтобы вывести имя пользователя, строка должна быть в комментариях:
<!--###USERNAME###-->
Andreas Schwarzkopf вне форума   Ответить с цитированием
Старый 12.03.2004, 18:09   #3
KortS
Продвинутый
 
Регистрация: 13.01.2004
Сообщений: 30
По умолчанию

Может он конешно и лучше, но вот пригоден только для версии TYPO3 3.6.0RC1. У меня TYPO3 3.5.0. Но и на том спасибо, особенно за оперативность.

Я тут уже нашел в list archive на http://typo3.org/ вашу заметку на эту же тему http://typo3.org/1422+M56c59187388.0.html?&tx_maillisttofaq_pi1[answered_only]=0&tx_maillisttofaq_pi1[sword]=goodMess
KortS вне форума   Ответить с цитированием
Старый 17.03.2004, 00:25   #4
KortS
Продвинутый
 
Регистрация: 13.01.2004
Сообщений: 30
По умолчанию

Подскажите пожалуйста, как мне проверить правильно ли залогинился пользователь FE или нет.

Допустим, что при удачной регистрации, пользователь перенаправляется на страницу Welcome (show at any login), а страница Log in становится скрытой (hide in login).

А вот если регистрация пройдет безуспешно, то нажатием на кнопку Login нашей логин-формы, мы тем самым инициируем это перенаправление на стр. Welcome и в то же время она еще остается скрытой (логин ведь неправильный был). Таким образом нас выносит на индексную страницу сайта.

Вот каким образом можно проверять удачно ли прошла регистрация или нет? Возможно ли это проверить средствами TypoScript или php сценарий писать какой-то?
KortS вне форума   Ответить с цитированием
Старый 17.03.2004, 14:20   #5
Andreas Schwarzkopf
Senior Member
 
Регистрация: 14.08.2003
Сообщений: 416
По умолчанию

Именно для этого был сделан \"Better login box\". Попробуйте скачать старую версию: в репозитории нажать на расширение в списке, появится страница \"SELECT COMMAND\". Там можно выбрать версию, с версией 1.1.0 например все в порядке. Затем: Import / Update.
Средствами TypoScript может быть что-то можно сделать условиями:

[loginUser = *]
если залогинен
[else]
если нет
[global]

В PHP:
if ($GLOBALS[\"TSFE\"]->loginUser) {
...
} else {
...
}
Andreas Schwarzkopf вне форума   Ответить с цитированием
Старый 19.03.2004, 17:14   #6
KortS
Продвинутый
 
Регистрация: 13.01.2004
Сообщений: 30
По умолчанию

Огромное спасибо! Действительно, старая версия этого расширения работает и под старым TYPO3 [3.5.0].

У меня еще вопрос. Я хочу после удачной авторизации скрывать страничку Log in (uid=39). Я не могу поставить на эту страницу Hide at login, иначе не увижу сообщения \"Login successful\".

Можно тогда не скрывать страницу, а просто скрыть ссылку в меню. Вот я попытался это сделать, как Вы посоветовали выше. Но не работает.

page.menu_1 = HMENU
[loginUser = *]
excludeUidList = 39
[global]
page.menu_1.1 = TMENU
page.menu_1.1 {
.......
# здесь обычное описание меню, ничего
# особенного
.......
}
KortS вне форума   Ответить с цитированием
Старый 19.03.2004, 18:34   #7
Andreas Schwarzkopf
Senior Member
 
Регистрация: 14.08.2003
Сообщений: 416
По умолчанию

Ошибка известная ;-)
Условие нельзя ставить внутрь фигурных скобок, т.е. условие должно стоять на корневом уровне:

page.menu_1 = HMENU
page.menu_1.1 = TMENU
page.menu_1.1 {
.......
}
[loginUser = *]
page.menu_1.excludeUidList = 39
[global]

Т.е. сначала пишем все для нормального случая, закрываем все фигурные скобки. Затем ставим условие и изменяем / переписываем одно из значений нашего меню при выполнении условия.
Andreas Schwarzkopf вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 20:35.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория