Ярлыки (Shortcuts) это хороший способ держать на виду самые необходимые ссылки, но есть одна проблема — они не работают без Toolbar. Т.е. если у определённой роли отобрать право access toolbar
, то ярлыки пропадут тоже. Выход:
2. Копируем в папку модуля файл modules/toolbar/toolbar.tpl.php
3. Редактируем скопированный файл:
<div id="toolbar" class="<?php print $classes; ?> clearfix">
<?php if ($user->uid == 1) { ?>
<div class="toolbar-menu clearfix">
<?php print render($toolbar['toolbar_home']); ?>
<?php print render($toolbar['toolbar_user']); ?>
<?php print render($toolbar['toolbar_menu']); ?>
<?php if ($toolbar['toolbar_drawer']) { ?>
<?php print render($toolbar['toolbar_toggle']); ?>
<?php } ?>
</div>
<?php } ?>
<div class="<?php echo $toolbar['toolbar_drawer_classes']; ?>">
<?php print render($toolbar['toolbar_drawer']); ?>
</div>
</div>
здесь я добавил проверку на админа.
4. Добавляем в код модуля:
/**
* Implements helper_theme_registry_alter().
*/
function MODULENAME_theme_registry_alter(&$theme_registry) {
$theme_registry['toolbar']['path'] = $theme_registry['toolbar']['theme path'] = drupal_get_path('module', 'MODULENAME');
}
5. Сбрасываем кэш.
До:
После:
Можно конечно ограничиться копированием toolbar.tpl.php
в папку темы, но тогда тулбар будет появляться на админских страницах, где используется Seven.
По материалам Как переопределить функцию темизации в своём модуле.
Написанное актуально для
Drupal 7
Похожие записи
- Создание сравнительной таблицы с значениями из EAV Field
- Тест оверхеда Layout Builder и Paragraphs
- Темизация группы чекбоксов или радио-кнопок (#type=>checkboxes, #type=>radios)
- Как в Views программно изменить view mode выводимых сущностей по данным из cookie?
- Добавляем на страницу управления отображением материала поля "Заголовок" и "Дата создания"
Комментарии
Первый хороший пост о тулбаре! Его есть куда развивать, да и Дрис писал недавно о респонсив версии, пока всё в рамках спарка.
я думала люди делятся на две категории: admin_menu(_source) или admin. Оказалось, ещё ещё и третья категория :)
Странное решение. У меня тоже admin_menu
а я просто через ксс в файле modules/toolbar/toolbar.css отключал дислей
#toolbar {display:none;}
Добавить комментарий