Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   А как впихнуть RealURL в условие? (http://forum.typo3.ru/showthread.php?t=10553)

Илья 13.01.2013 03:26

А как впихнуть RealURL в условие?
 
Привет, получится ли сделать нечто похожее:
Код:

[globalVar = GP:tx_ext_pi1|var1 = 10]
только
с использованием сгенерированных RealURL адресов?
типа
Код:

[globalVar = GP:/catalog/type1/product1]
// some TS code ONLY for /catalog/type1/product1
[global]

Что-то мне подсказывает, что этот финт не удастся...

dmartynenko 14.01.2013 15:01

Почему же?
В условиях есть проверка и с помощью regexp и по полям HTTP заголовока.

Но если ничего встроенного не подойдет, в условии вы можете использовать результат своей useFunc. А уж в ней проверяйте что и как угодно.

Ну и если урл был кодирован с помощью RealURL, то он тожно так же окажется декодирован в исходные GP переменные, по которым можно применять условия.

Илья 16.01.2013 02:45

dmartynenko
Благодарю за ответ - будет время поковыряюсь в этом.
Пока сделал проверку по стандартному URL'у тайпы...

Илья 22.01.2013 03:04

В общем пока использую такую конструкцию в условиях:

Код:

[globalVar = IENV:TYPO3_REQUEST_URL = http://www.mysite.ru/catalog/category1/product1]
Немного коробит то, что нужен полный URL вместо с названием домена.
Но с ходу не придумал, как бы здесь анализировать только эту часть URL:
Код:

catalog/category1/product1
Это как раз и есть результат работы RealURL :)

-=UncleByte=- 22.01.2013 09:44

Ну вот с estate_agent у меня было вот такое условие и все работало и работает
Код:


[PIDupinRootline = 9]&&[globalVar = GP:tx_estateagent_pi1|showUid > 0]


dmartynenko 22.01.2013 12:20

Есть вариант условия с маской и regexp-ом.
Вот такой:

Цитата:

globalString

Syntax:
[globalString = var1=value, var2= *value2, var3= *value3*, ...]

Comparison:
This is a direct match on global strings.
You have the options of putting a "*" as a wildcard or using a PCRE style regular expression (must be wrapped in "/") to the value.

Examples:
If the HTTP_HOST is "www.typo3.com" this will match with:
[globalString = IENV:HTTP_HOST = www.typo3.com]

This will also match with it:
[globalString = IENV:HTTP_HOST = *typo3.com]

... but this will also match with an HTTP_HOST like this: "demo.typo3
.com"


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

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