2012-01-26 5 views
2

У меня есть следующая структура каталогов:Joomla! корневой каталог

C:\mywebsites 
    \site_1 
    \site_2 
    \site_n 

В «site_2» Я установил Joomla, однако, у меня есть другие папки с ресурсами, PHP скрипты и т.д. в одном из «лишних» папок, У меня есть сценарии, которые я часто вызываю, возникает проблема, когда я вызываю JURI :: base(), он возвращает папку, в которой находится файл сценария, вместо «site_2», который я ожидаю.

Как я могу преодолеть эту простую задачу?

+0

Использовать виртуальные хосты? – prodigitalson

+0

Я ищу более элегантное решение, прямо сейчас я использую str_replace для удаления дополнительных папок, однако было бы неплохо, если бы я мог получить «C: \ mywebsites \ site_2», вызвав одну функцию из сценария, расположенного в «C: \ mywebsites \ site_2 \ a \ few \ folders \ deep \ php \ script.php" – ComputerSaysNo

ответ

4

Корневой каталог определен в JPATH_BASE.

Она устанавливается в index.php в передней части Joomla и в/администратора с помощью:

define('JPATH_BASE', dirname(__FILE__)); 

JURI::base() возвращает путь базового запроса.

+0

еще раз спасибо за ваше решение – ComputerSaysNo

3

define ('JPATH_BASE', dirname (FILE));

это вернуть локальный путь к диску .. означает C:/site_1/site_2/site_3/

JURI :: база()

это возвращает путь livefolder ... означает http://localhost/site_1/site_2/site_3/

Смежные вопросы