Делаем хлебные крошки из URL аргументов
В друпале система хлебных крошек по дефолту не удовлетворяет каждого пользователя, поэтому иногда приходится "поработать" над ними вручную. В этой статье мы рассмотрим способ, при помощи которого будут создаваться "хлебные крошки" из URL. Например мы имеем следующий URL адрес: mysite.org/news/newstitle, в результате в хлебных крошках мы увидим - Home >> News >> newstitle.
Создаем файл template.php, если он у вас еще не создан. Затем вставляем следующий код в него:
/**
* Override theme_breadcrumb().
*/
function [YOUR-THEME-NAME]_breadcrumb($breadcrumb) {
$links = array();
$path = '';
// Get URL arguments
$arguments = explode('/', request_uri());
// Remove empty values
foreach ($arguments as $key => $value) {
if (empty($value)) {
unset($arguments[$key]);
}
}
$arguments = array_values($arguments);
// Add 'Home' link
$links[] = l(t('Home'), '<front>');
// Add other links
if (!empty($arguments)) {
foreach ($arguments as $key => $value) {
// Don't make last breadcrumb a link
if ($key == (count($arguments) - 1)) {
$links[] = t(drupal_get_title());
} else {
if (!empty($path)) {
$path .= '/'. $value;
} else {
$path .= $value;
}
$links[] = l(t(drupal_ucfirst($value)), $path);
}
}
}
// Set custom breadcrumbs
drupal_set_breadcrumb($links);
// Get custom breadcrumbs
$breadcrumb = drupal_get_breadcrumb();
// Hide breadcrumbs if only 'Home' exists
if (count($breadcrumb) > 1) {
return '<div class="breadcrumb">'. implode(' » ', $breadcrumb) .'</div>';
}
}
?>
Внимание! Заместо [YOUR-THEME-NAME] - вставляйте название вашей темы. Единственный минус данного способа или просто я не знаю как это сделать - перевести их на русский язык. Т.е. если мы имеем адрес mysite.org/news/newstitle, в хлебных крошках мы увидим Главная >> News >> newstitle, если кто знает как это исправить - пишите в комментах.
UPDATED! Название линков обворачиваем в t и переводим через translate interface и все работает!
- 2683 просмотра
Разделы
Комменты
-
Николай 3 дня 5 часов назадСука ты не русская, ты кому это написал даун? →
-
Olzhas 1 неделя 6 дней назадСпасибо. С Новым Годом! →
-
Den 1 месяц 1 неделя назадВ первой функции, при создании переменной $li_previous нужно поменять '←' с NULL, в $li_next сделать тоже самое. →
-
Гость 1 месяц 1 неделя назадЕсли все ровно так как было описано, то нет никаких сомнений что домен увел сам регистратор. Потому что вероятность того →
-
Валерий 2 месяца 1 неделя назадда можно делать импорт-экспорт только лишь в оболочке на входя на mysql сервер →
-
admin 2 месяца 1 неделя назадВалерий, а зачем вам именно так делать экспорт? Если я не ошибаюсь, то там нет какой-либо команды чтобы сделать экспорт →
-
Валерий 2 месяца 1 неделя назадзахожу на mysql через ssh по команде →
-
admin 2 месяца 1 неделя назадДобрый вечер, какой у вас клиент? →
-
Валерий 2 месяца 1 неделя назадЗдравстуйте, есть команда чтобы сделать экспорт базы внутри mysql клиента? →
-
Eduard 2 месяца 3 недели назадВидать, домен хороший был. Заявление пробывали писать на мошенника? →
Комментарии (0)