Вопрос о ссылках

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

Аватар пользователя rinat_s rinat_s 23 апреля 2010 в 10:13

Здравствуйте! Сейчас на локальном компе, когда есть необходимость ссылаться на внутренние ресурсы сайта, все ссылки пишу в виде <a href="http://localhost/site_name/и_т_д"</a> Понятно, что это неправильно и при переносе на реальный хост эти ссылки придется переписывать. Так как мне поступить лучше?

Комментарии

Аватар пользователя rinat_s rinat_s 23 апреля 2010 в 10:27

graker wrote:
Писать ссылки видa href="/внутренний путь". Например, для ссылки на ноду 123 - href="/node/123".

Чет не подходить... Если писать так, то преобразуется в localhost/node/123

Аватар пользователя glu2006 glu2006 23 апреля 2010 в 10:48

graker wrote:
glu2006 wrote:
Использовать функцию l();

Да ну вы чего, в тексте каждого поста PHP подключать? Smile

Попробуйте в settings.php переменную $base_url выставить в "http://localhost/site_name".

Зато никакого головняка при перездах на любой хостинг, любой конфигурации и не надо лазить в код. Нет конечно если у человека есть желание постоянно его править и вспоминать а где это я еще пути нахардкодил, то никаких проблем. Мне лично этого делать не хочется поэтому я использую функцию l() или url().
там где хотите вставить ссылку (кроме текста в ноде, для этого есть фильтр internal:) пишем:

<p>текст текст текст <?php l('текст ссылки', 'node/'. $node->nid); ?> текст</p>

и так далее посмотрите какие параметры в нее еще можно передавать.

Аватар пользователя graker graker 23 апреля 2010 в 10:58

glu2006 wrote:
кроме текста в ноде, для этого есть фильтр internal:)

Не знаю как ТС, а я вообще-то как раз про internal в тексте ноды и говорил Smile Просто, насколько я успел заметить, href="/ссылка" у меня работает так же, как href="internal:/ссылка".

Потому и подивило - добавлять PHP-код для каждой ссылки в текст ноды. А в других местах l() действительно очень удобно использовать.

Аватар пользователя glu2006 glu2006 23 апреля 2010 в 11:27

graker wrote:
Просто, насколько я успел заметить, href="/ссылка" у меня работает так же, как href="internal:/ссылка".

Просто у Вас такие настройки хостинга, у меня на локальной машине настройки такие что надо писать href="ссылка" без первого слеша. Поэтому я и использую в ноде internal: а в шаблонах l().