![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Я использую Content Management System TYPO3. Это очень серьезная разработка с большим кол-во возможностей. Однако она постороена по принципу, расширения функциональности за счет модулей.
Однако, когда уже есть готовый хорошо работащий скрипт, то делать из него модуль для системы TYPO3 - довольно сложное занятие, т.к. еще стоит разобраться как делаются эти модули и т.п. Идеальным решением была бы возможность подключения к системе любого стороннего ПХП-скрипта. Эта возможность есть за счет возможности вставки через CMS на страницу не только обычного простого текста, но также и PHP-скрипта. Естественно, мы не можем вставить на страницу весь код пхп-скрипта, особоенно если он состоит из множества модулей и т.п. Поэтому можно написать <?php include("наш скрипт");?> Казалось бы проблема решена? А нет. Страница с нашим встроенным скриптом имеет адрес: index.php?id=4654 Если наш ПХП скрипт выводит на экран форму, или же ссылки для перехода по страницам, то при нажатиии на них мы перейдем в большом кол-ве случаев на страницу: myscript.php А нужно перейти на index.php?id=4654, с которой и вызывается собственно наш скрипт. Я вижу след. пути решения проблемы: 1. Грузить скрипт в IFRAME, что в принципе по многим причинам не самое удачное решение.2 2. Обрабатывать весь вывод от myscript.php переписывая ссылки правильными. Что скажете? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Я бы тут сделал так..
Делал бы mod_rewrite'ом редирект при my.php?<params> на скрипт type. В нем, смотрел, если запрос идет на my.php, то подключаем наш скрипт. Ему уже будут доступны все переменные массива GET, POST и прочих. |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Mal Hack супер. Очень хорошее решение.
А это даже не надо, т.к. сразу сделаем редирект на страницу внутри TYPO3 со скриптом. Т.е. на: index.php?id=4654 Но есть еще одна проблема. Это каталог запуска скрипта. Подключая скрипт через include, он будет думать, что он(скрипт) лежит также в корне сайта, хотя это необязательно так. Соответсвенно путь к модулями, картинкам и т.п. - неправильный будет.. Добавлено @ 01:56 И еще одна проблемка, это то, что скрипт может выдавать какие-нибудь header... Добавлено @ 02:00 По идее.. Решение через IFRAME не имеет этих проблем. |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
ПРописать в скрипте <base>.
Ну, если ты подключишь его в типо до вывода, а в самом начале, то все будет пучком. |
||||
|
|||||
| Wowa |
|
||||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
это вроде в ХТМЛе. А в пхп-скрипте, как?
А вот это сложно реализовать... В общем, я все же наверное склоняюсь к варианту через IFRAME.. Вроде минусов вообще нет. А? |
||||
|
|||||
| Mal Hack |
|
||||||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
ПХП тут не при чем. <base> у тебя установит как бы корень твоего скрипта. Или тебе надо чтобы внутри типо был вывод скрипта? Тогда надо найти, где он гегнерит шапку и еще раз сделать условие:
... дописываем <base> или в скрипте все ссылки скриптом переписываемю
В теории да, но файеры блочат
Тут просто надо найти место где он: а) генерит. б) выводит. |
||||||||
|
|||||||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
немного доки по теме: http://typo3.org/fileadmin/pdf_manuals/man...03_00-58-13.pdf
Добавлено @ 03:14 Там написано, что используется output buffering. А это по идее означает, что никаких проблем с header быть не должно. Так ведь? Проблему с include можно решить через set_include_path(), а затем выполнить restore_include_path(). Проблему с ссылками - через mod_rewrite, как предложил Mal Hack. |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Ага.
Ага. |
||||
|
|||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Это как так??? Либо я непонял твою проблему, либо.... Ну если я правильно понимаю, то допустим myscript.php генерит какие-то ссылки, которые отображает index.php?... Так? Если так, то почему бы тебе не юзать $_SERVER['PHP_SELF'] для формирования ссылок в myscript.php. Ведь имя файла скрипта будет всегда тем, который инклюдит какой-то скрипт, а не инклюженого. Или я что-то не понял? -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Так. Но есть готовые скрипты, в которых это не так. А вторая траблка это то, что в TYPO3 нужно передавать id еще страницы. Т.е. типа: $_SERVER['PHP_SELF']?id=ид страницы с пхп скриптом. P.S. Кстати, как изменить, чтобы вместо id в typo3 использовалось бы pagetypoid? |
|||
|
||||
| -=Ustas=- |
|
||||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Ну передалеть по-моему недолго...
А вот это уже черт его знает. Я не помню, но кажется что там есть поддержка ЧПУ, которая где-то в конфигурировании включается, после чего на урл берутся алиасы имен страниц. Ты поковыряй код, если там явно указан $_GET['id'] или $_POST['id'] , тогда наряд ли это изменить можно. -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
||||
|
|||||
![]()
|
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Для профи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |