![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
|
#1 |
|
Новенький
Регистрация: 04.07.2007
Сообщений: 17
|
Здравствуйте. При изучении TypoScript возник такой вопрос:
Допускает ли TypoScript создание вложенных условий такого вида: [Условие 1] [Условие 2] Действия 2.1 [else] Действия 2.2 [end] [else] Действия 1 [end] Может, есть какая-нибудь специальная конструкция, отличающаяся от моих фантазий? Спасибо. |
|
|
|
|
|
#3 |
|
Новенький
Регистрация: 04.07.2007
Сообщений: 17
|
CASE здесь вряд ли пойдет, потому что имеется в виду выбор не среди нескольких значений одного свойства.
Нужно, чтобы в зависимости от значения одного свойства происходил дальнейший выбор действия уже по значению другого свойства. Как реализовать такой выбор? |
|
|
|
|
|
#4 |
|
Senior Member
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
|
Вложенные CASE-ы.
Вообще, приведите здесь условия которые необходимо реализовать. |
|
|
|
|
|
#5 |
|
Новенький
Регистрация: 04.07.2007
Сообщений: 17
|
Вложенные CASE-ы вполне подойдут. Только как проверить не совпадение конкретного значения, а просто наличие хоть какого-нибудь?
Не так ведь: stuff = CASE ... stuff.* = TEXT stuff.* { .... } А необходимость такая: в зависимости от заполненности одного поля учетной записи пользователя выводить либо не выводить дополнительные его атрибуты. |
|
|
|
|
|
#6 |
|
Senior Member
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
|
Ну, например, как-то так:
Код:
10 = COA
10.10 = TEXT
10.10.value = Привет, {TSFE:fe_user|user|username} #Общая часть
10.10.insertData = 1
10.20 = TEXT
10.20.data = TSFE:fe_user|user|email
10.20.required = 1
10.20.wrap = Твой email: |
__________________
TYPO3 FAQ |
|
|
|
|
|
#7 |
|
Новенький
Регистрация: 04.07.2007
Сообщений: 17
|
Если я не ошибаюсь(что весьма вероятно), этот пример обязательно выведет username, а после авторизации - обязательно выведет email.
Если опираться на Ваш пример, то мне нужна такая последовательность: 1. Выводится общая часть 2. Пользователь авторизуется 3. Проверяется email 3.1. Если email не пуст, выводится username 3.2. Иначе вывести name Если для этого подойдет приведенная конструкция, то как ей воспользоваться? PS: Основной вопрос сейчас - как записать условие "если атрибут имеет хотя бы какое-то значение(не пуст)"? Последний раз редактировалось Maria Rykalina; 13.09.2007 в 19:08 |
|
|
|
|
|
#8 |
|
Senior Member
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
|
Email будет выведен только в том случае если он не пуст.
Для этого служит required=1 |
|
|
|
|
|
#9 |
|
Новенький
Регистрация: 04.07.2007
Сообщений: 17
|
Наверное, я опять чего-то не понимаю, но:
Как вывести атрибут, отличный от email, если email все же пуст? |
|
|
|
|
|
#10 | |
|
Senior Member
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
|
Цитата:
Код:
10 = TEXT
10.value = Привет, {TSFE:fe_user|user|username}
10.insertData = 1
10.override {
data = TSFE:fe_user|user|email
required = 1
wrap = Твой email: |
}
|
|
|
|
|