Недавно задался целью добавить свои иконки (по дефолту там только основные и уродские по виду) на так называемый dashboard, т.е страницу с адресом admin/store, а заодно и заменить таблицу на дивы
Поскольку прямой темизирующей функции, которая напрямую бы отвечала за добавление иконок я не нашёл, соорудил вот такое рабочее решение, которое позволяет довольно удобно добавлять свои иконки. Сниппет не претендует на особую элегантность - я не программист.
В template.php добавляем:
<?php
function НАЗВАНИЕВАШЕЙТЕМЫ_uc_admin_dashboard($type, $menus) {
$output = '<div class="uc-store-admin-table">';
$panel = 0;
if (is_array($menus)) {
foreach ($menus as $menu) {
$panel++;
$panel_title = $menu['title'];
$href = $menu['href'];
list($img_name, ) = explode('/', $href, 0);
$img_name = administrator_id_safe($img_name);
$img_path = path_to_theme() . '/images/admin-dashboard/' . $img_name . '.png';
if (file_exists($img_path)) {
$dash_img = theme_image($img_path, $panel_title, $panel_title, $attributes = array ('class' => 'admin-dashboard'), FALSE);
} else {
$dash_img = '';
}
$panel_links = theme('admin_block_content', system_admin_menu_block(menu_get_item($menu['href'])));
$panel_table = '<div class="panel-title">'. l($menu['title'], $menu['href']) .'</div>';
$panel_table .= $dash_img;
if (strlen($panel_links) > 0) {
$panel_table .= '<div class="panel-links" style="'. $disp .'">'. $panel_links .'</div>';
}
$output .= '<div class="uc-store-admin-panel" id="panel-'. $panel .'">'. $panel_table .'</div>';
}
}
$output .= '</div>';
return $output;
}
?>
Как видно, это стандартная функция темизации дашборда уберкарта, таблицы заменены дивами, выброшены условия по режиму отображения (соответствующие настройки отображения дашборда я скрыл через form_alter - по мне это лишнее)
Собственно идея состоит в том, что берётся основная ссылка в группе ссылок, её URL потрошится на части , которые образуют название файла иконки. Иконки должны лежать в папочке images/admin-dashboard/. Если иконка с соответствующим URL названием есть в этой папочке, она вставляется в соответствующую группу ссылок
Пример:
Группа ссылок "Товары", родительский пункт имеет URL admin/store/products, следовательно, чтобы добавить иконку в группу ссылок "Товары", нам нужно положить в папочку images/admin-dashboard картинку с названием admin-store-products.png
Ну и так далее
Комментарии
Ну хоть бы скрином похвастались, как это выглядит )))
Выглядит настолько, насколько выглядят ваши иконки
Сделал скрин
Решил вернуть выбор режима отображения дашборда, в аттаче
Очень симпатишно )) какую тему используете? Я про тему самого сайта - вроде неплохо смотрится...
Тема моя, нет в паблике. Скоро выложу
Буду ждать с нетерпением!
Как-то Вы заикались про сборку с уберкартом.. уже есть?
Вот вместе со сборкой и будет, не ранее
Полезно в некотором роде) спасибо!