Проблема с компонентом Joomla - доступ к Joomla Framework из контекста index.php - PullRequest
0 голосов
/ 26 мая 2011

привет, у меня следующая проблема. Стандартные действия над компонентами в Joomla называются так: index.php?option=com_name&action=MYACTION. Затем я могу использовать каркас Joomla в моем компоненте, например, для доступа к базе данных. Я разрабатываю компонент для 3dsecure шлюза. На одном этапе оплаты мне нужно проверить данные, отправленные из банка. Поэтому мне нужно что-то вроде этого index.php?option=com_name&action=validate. Но банк добавляет после этого URL еще один ? и другие параметры, поэтому я думаю, что он не может работать .. Так что я хочу получить доступ к своему компоненту Joomla, например, из 3dsecure.mysite.com/validate.php? Возможно ли это?

Я просто хочу использовать JFactory::getDB, а затем, например, перенаправить на любой вид. Я знаю, что могу использовать mysql_connect и создать собственное соединение с БД, но это очень некрасиво:)

Можно ли как-то перенаправить запрос на мою сторону (создать действительный URL с параметрами, отправленными из банка)? header(Location:) ??

Спасибо за вашу помощь

Ответы [ 2 ]

0 голосов
/ 30 мая 2011

Рекомендуется использовать правило перезаписи на сервере.

Например, переписать

3dsecure.mysite.com / validate.php (...)

в

index.php? Option = com_name & action = MYACTION (...)

Если вы используете Apache, вы можете использовать mod_rewrite для этой цели.

0 голосов
/ 26 мая 2011

Вы не можете использовать API-интерфейс Joomla! Вне фреймворка, если только вы не предоставите там все необходимые зависимости (таким образом, воссоздавая фреймворк в другом месте), что довольно бессмысленно.

Более того, вы можете иметь много параметров в URL-адресе компонента, так что маршрутизатор компонента должен знать, что с этим делать ... Итак, в вашем классе маршрутизатора компонента вы будете размещать обработчики. за каждый необходимый вам параметр $ _GET, например, возвращенный из банка.

Если вы просто не хотите испачкаться вещами mysql_ *, используйте PDO (кстати, лучший подход в целом).

...