Как убрать надпись "Главная (Home)" со страницы

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

Аватар пользователя falkon@drupal.org falkon@drupal.org 14 октября 2009 в 18:55

Ситуация следующая: хочу убрать надпись "Главная (Home)" со всех страниц первого уровня.
А строка чтобы появлялась только в том случае, если открыта страница второго уровня и ниже, т.е. "Главная >> Управление ...".
Подскажите, как это можно сделать!?

Комментарии

Аватар пользователя falkon@drupal.org falkon@drupal.org 14 октября 2009 в 19:22

Я имею ввиду следующее: если сейчас мы посмотрим на верх этой страницы, то увидим: "Главная → Форумы → Техподдержка Drupal → Решение проблем"
Если мы зайдем на страничку Форум: http://www.drupal.ru/forum , то вверху страницы появится надпись "Главная". Вот я и хочу ее убрать!
Но не просто удалить всю эту строку, а чтобы строка появлялась если открываешь следующую страницу в разделе, т.е. допустим "Главная → Форумы → Техподдержка Drupal"

Аватар пользователя falkon@drupal.org falkon@drupal.org 14 октября 2009 в 19:47

Если смотреть код выводимой страницы, то это строка выглядит так:
<div id="main"> <div class="breadcrumb"><a href="/">Главная</a> » <a href="/admin">Управление</a> » <a href="/admin/build" title="Контроль над структурой и внешним видом вашего сайта.">Конструкция сайта</a></div>

А в странице page.tpl.php весь блок выглядит так:

<?php if ($mission) { ?>
<div id="mission"><?php print $mission ?></div>
<?php ?>
<div id="main"> <?php print $breadcrumb ?> 
<?php if ($node == 0): ?> 
<h1 class="title"><?php print $title ?></h1> 
<?php endif; ?>
<div class="tabs"><?php print $tabs ?></div>
<?php print $help ?> <?php print $messages ?> 
<?php print $content?> </div>?>
Аватар пользователя kansei kansei 15 октября 2009 в 16:09

Как-то вы путано объясняете. Если хотите управлять выводом $breadcrumb то решений может быть несколько. Например, модуль Custom Breadcrumbs или лезть в template.php с кодом типа:

<?php function phptemplate_breadcrumb($breadcrumb) {
    if (!empty(
$breadcrumb)) {
      
array_shift($breadcrumb); //убираем первый элемент массива, скорее всего это будет "Главная"
      
return <div class=”breadcrumb”>’ implode(&nbsp;&raquo;&nbsp;$breadcrumb) . </div>;
    }
}
?>

Пример асбтрактный. Вам нужно будет проверять страницу перед тем как хакать "крошки".

Аватар пользователя Erazer Erazer 2 ноября 2009 в 15:59

kansei wrote:
Как-то вы путано объясняете. Если хотите управлять выводом $breadcrumb то решений может быть несколько. Например, модуль Custom Breadcrumbs или лезть в template.php с кодом типа:

<?php function phptemplate_breadcrumb($breadcrumb) {
    if (!empty(
$breadcrumb)) {
      
array_shift($breadcrumb); //убираем первый элемент массива, скорее всего это будет "Главная"
      
return <div class=”breadcrumb”>’ implode(&nbsp;&raquo;&nbsp;$breadcrumb) . </div>;
    }
}
?>

Пример асбтрактный. Вам нужно будет проверять страницу перед тем как хакать "крошки".


Спс!!!
Почикал:

<?php/**
 * Allow themable wrapping of all breadcrumbs.
 */
function Blue_breadcrumb($breadcrumb) {
  if (!empty($breadcrumb)) {
    return '<div class="breadcrumb">'. implode(' | ', $breadcrumb) .'</div>';
  }
}?>

До

<?phpfunction Blue_breadcrumb($breadcrumb) {
  if (!empty($breadcrumb)) {
    return '';
  }
}?>

И ненавистная ссылка пропала!

Аватар пользователя Erazer Erazer 2 ноября 2009 в 16:12

Теперь остается открытым вопрос, как убрать со страниц ссылку на саму открытую страницу ("Purchase" на рисунке) ?

Аватар пользователя Erazer Erazer 2 ноября 2009 в 17:57

Просто вычистил

<h2 class="art-PostHeaderIcon-wrapper"><img src="<?php echo get_full_path_to_theme(); ?>/images/PostHeaderIcon.png" width="6" height="6" alt=""/> <span class="art-PostHeader"><a href="<?php echo $node_url; ?>" title="<?php echo $title; ?>"><?php echo $title; ?></a></span>
</h2>

из node.tpl.php Smile