как указывать путь в блоках и содержимом, если drupal установлен в не в корне

Главные вкладки

Аватар пользователя Diamond Diamond 5 октября 2009 в 1:30

Drupal установлен не в корне: http://site/drupal/
Сейчас вносится информация на сайт. После сайт будет переносится в корень http://site/
вопрос как в содержимом (в нодах) и в блоках указывать урлы, что бы при переносе не нужно было их корретировать?

пока решил проблему указывая путь href="front://node/1"
а через jQuery заменяю front:// на значение переменной $base_url

Подозреваю, что аналогичное решение должно существовать средствами drupal.

Спасибо.

Комментарии

Аватар пользователя Andigo Andigo 5 октября 2009 в 2:08

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

Аватар пользователя Stan.Ezersky Stan.Ezersky 5 октября 2009 в 12:27

"direqtor" wrote:
С файлами вставляемыми в текст (изображения) могут быть проблемы.
Перед переносом стоит залезть в базу данных и проверить пути. При необходимости - заменить

Аватар пользователя sas@drupal.org sas@drupal.org 5 октября 2009 в 12:32

в settings.php есть $base_url, при формировании пути надо использовать как глобальную переменную для "корня" сайта - это снизит до минимума проблемы.

Аватар пользователя Diamond Diamond 6 октября 2009 в 1:21

2 Nikit:
с меню проблем нету. там путь указывается относительно папки куда установлен drupal. Ситуация проблемна когда вводится нода и нужно указать ссылку на другие ноды.

2 Andigo:
провёл эксперимент:
создал ноду http://site/node/37
добавил ссылки, с адресами:
1. href="articles"
2. href="/articles"
3. href="front://articles"
4. href="?q=articles"
(страница /articles существует)

получил:
1. http://site/node/articles (неверно должно быть http://site/articles)
2. http://site/articles (верно)
3. http://site/articles (верно)
4. http://site/node/37?q=articles (работает)

перенес drupal в папку /subpath/ (http://site/subpath/), c изменением $base_url
1. http://site/subpath/node/articles (неверно должно быть http://site/subpath/articles)
2. http://site/articles (неверно должно быть http://site/subpath/articles)
3. http://site/subpath/articles (верно)
4. http://site/subpath/node/37?q=articles (работает)

в результате имеем работающие ссылки в вариантах 3. и 4.
3. - это хак
4. - вариант drupal

Хочу "хак" вариант сделать на стороне сервера. Есть хук, по которому можно получить содержимое страницы до отправки клиенту?

Аватар пользователя andrey_jw@drupal.org andrey_jw@drupal.org 9 января 2010 в 10:08

Вцелом думаю столкнусь вскоре с тойже проблемой.

"<a href="mailto:sas@drupal.org">sas@drupal.org</a>" wrote:
sas@drupal.org

в settings.php есть $base_url, при формировании пути надо использовать как глобальную переменную для "корня" сайта - это снизит до минимума проблемы.


Уже проверено. К сожалению в этом случае не панацея.