Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Как в PHP_SCRIPT передать аргумент? (http://forum.typo3.ru/showthread.php?t=682)

Алексей 12.07.2005 11:57

Как в PHP_SCRIPT передать аргумент?
 
У меня контент страницы работает в виде PHP_SCRIPT, но как туда передать аргументы? Естественно это надо делать через URL, но я пока нашел только \"концепцию $id и $type\" в этом контексте.

Dmi3 12.07.2005 19:33

Нужно просто взять нужные переменные из POST или GET запроса.
Что-то вроде (как один из вариантов)
t3lib_div::GPvar($this->prefixId), соотв. ваши переменные должны быть элементами массива $this->prefixId

Алексей 13.07.2005 10:35

Спасибо, разобрался. Все даже несколько очевиднее.

Ассоциативный массив GLOBALS[\"HTTP_GET_VARS\"] содержит все аргументы GET-запроса.

Andreas Schwarzkopf 13.07.2005 12:30

Есть два очень важных документа:
http://typo3.org/documentation/document-library/doc_core_cgl/ http://typo3.org/documentation/document-library/doc_core_api/

Например, там описаны важнейшие функции:
http://typo3.org/documentation/document-library/doc_core_api/High_priority_functi/

Этот метод там не рекомендуется. Следует использовать функции t3lib_div::_GP для отдельных переменных или же t3lib_div::_GET() для всего массива.

Также следовало бы использовать готовый пакет фронтенд-функций из класса class.tslib_pibase.php. Так как этот класс уже инициализирован, функции вызываются просто через $this. GET-переменные например $this->piVars.

Алексей 14.07.2005 09:03

Я бы и рад использовать все правильно, но теперь у меня вовсе ничего не работает - стоит только выйти из админки тайпо как все эти варианты перестают работать!

В $HTTP_GET_VARS остается только id, все остальное исчезает. Вхожу в админку - все работает снова... Как так?

Алексей 14.07.2005 09:34

Забавно. Я впервые категорически не согласен с логикой работы Typo3. Выдавать на запрос id=57&letter=S кэш от просто id=57 явно ошибочно.

Конечно есть $GLOBALS[\"TSFE\"]->set_no_cache(), но при таком подходе к кешированию использовать эту фичу приходится всегда...

Andreas Schwarzkopf 14.07.2005 12:12

Именно поэтому я дал совет посмотреть pibase. Там есть функции для построения ссылок с использованием кэша с cHash, что позволяет строить ссылки с любыми параметрами на одной и той же странице, не вылключая механизмы кэширования.

Andreas Schwarzkopf 14.07.2005 12:13

К стати, объект PHP_SCRIPT уже давно устарел. Не знаю, возможно ли там использовать cHash. Рекомендуется использовать объект USER.

Алексей 15.07.2005 05:19

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

Насчет PHP_SCRIPT - объект вполне серьезно рассматривается в tsref, мысли о его устаревании у меня как-то не возникли. :)

Спасибо за быстрые и квалифицированные ответы.

Baltazarr 11.01.2007 15:08

Цитата:

Сообщение от Андрей Шварцкопф (Сообщение 2568)
К стати, объект PHP_SCRIPT уже давно устарел. Не знаю, возможно ли там использовать cHash. Рекомендуется использовать объект USER.

Согласен с предыдущим пассажиром, ибо:
Цитата:

It's a little like the PHP_SCRIPT concept but this is somehow cleaner, because it's a call to a function previously defined and not an inclusion of a PHP-script file. So this is recommended.


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

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