Абсолютные пути в Drupal 7

Часто поисковые системы хотят видеть на сайте абсолютные пути. В друпале с этим нет проблем! Достаточно установить простой модуль и все Ваши пути будут абсолютными!

Конечно, не стоит забывать, что для правильного отображения ссылок необходимо использовать функцию l(), а для путей url().

Скачать модуль можно по ссылке ниже. Я не являюсь автором модуля. Автор тут https://drupal.org/node/335876#comment-5658624

Tags: 

Комментарии

Аватар пользователя Дмитрий
А для шестого аналог есть?
Аватар пользователя admin_romcom
прописать в settings.php

function custom_url_rewrite_outbound(&$path, &$options, $original_path) {
$options['base_url'] = 'http://www.yoursite.com';
$options['absolute'] = true;
}
Аватар пользователя Дмитрий
Спасибо. я пробовал такой метод но вылетает

Fatal error: Call to undefined function replace_active_link() in /sites/all/themes/main/block-menu-menu-catalog-sidebar.tpl.php on line 32

конфликтует данный метод с функцией, которая делает ссылку неактивной при находении на соотвествующей странице. Вот сама функция:

function replace_active_link($text) {
$pattern = "/<a[^>]* class=\"[^\"]*active[^\"]*\"[^>]*>([^<]*)<\/a>/";
$replace = "<span class=\"active\">\${1}</span>";
return preg_replace($pattern, $replace, $text);
}
Аватар пользователя admin_romcom
не лучше ли через theme_menu_item_link() из темы?
https://api.drupal.org/api/drupal/includes%21menu.inc/function/theme_menu_item_link/6.x

сравнить $link['href'] и current_path() через drupal_match_path($path, $patterns) и отдать сразу <span/>
Аватар пользователя Дмитрий
Да так было бы действительно лучше, но я не силен пока что в API друпала к сожалению! Пользуюсь только готовыми снипетами.
Аватар пользователя admin_romcom
у вас проблема в том, что вы не подключаете файл с функцией replace_active_link() и метод описаный выше не должен вызывать эту ошибку. точнее она и без него должна появляться.

или подключите его где-то или перепишите под theme_menu_item_link().

в любом случае, разбираться в апи 6го друпала нет смысла. он практически мертв.
Аватар пользователя Дмитрий
Да действительно. Невнимателен был. Случайно заменил эту функцию на новыую, вместо того чтобы просто добавить новую. Спасибо большое

Добавить комментарий