Вход

Просмотр полной версии : А как впихнуть RealURL в условие?


Илья
13.01.2013, 03:26
Привет, получится ли сделать нечто похожее:
[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"