Часто разработчики сторонних модулей не задумываются куда лучше воткнуть пункт меню в админке. А зря. Ведь к чему надо стремиться? Чтобы было понятно без документации. Поэтому нам надо оказаться там, где нас ожидают увидеть.[spoiler]
Рассмотрим на примере Избранного. Допустим, у нас есть некий функционал, который расширяет Избранное. Что делать? Дублировать пункт меню, да еще снизу? Конечно нет, сделаем так:
Как сделать такое?
С помощью обработчика события OnBuildGlobalMenu мы можем внедриться в любой подпункт меню админ.части.
1. Сначала найдем пункт Избранного, пробегая по всем пунктам:
Почему именно global_menu_settings и fav_menu_icon?
global_menu_settings одна из пяти верхних кнопок: global_menu_content, *services, *store, *statistics, *settings.
Что до fav_menu_icon. В каждом конкретном случае подход индивидуален. Рекомендую распечатать на экране массив $aModuleMenu и с помощью ctrl+f найти и изучить нужный вам пункт. Иногда там есть id пункта, но далеко не всегда (коллеги из Битрикса, просьба этот момент все же привести к порядку). Поэтому цепляться приходится за иконку:
Идем дальше. Пункт меню нашли, теперь делаем действия (код вставить вместо //.. в коде выше).
if (!strlen($aModuleMenu[$k]['items_id']))
$aModuleMenu[$k]['items_id'] = 'asd_fav_menu_icon';
Исправляем ошибку коллег из Битрикса и присваиваем id как у людей
if (empty($aModuleMenu[$k]['items']))
...
Если у пункта избранного нет подпунктов (а они могут быть, вы не единственные партнеры), то создаем подпункты, куда перемещаем текущий админ.пункт. Если вы добавляете подпункт в имеющиеся подпункты (например, Пользователи), то этот этап пропускаем.
Если я не ответил, стоило перезвонить, не всегда есть возможность ответить сразу. В первом разговоре я вас попросил сначала убедиться, что продукт вам подходит, и только потом покупать. К тому же я вам предлагал бесплатную копию, чисто для ознакомления.
Тем, что вы решили избрать другой путь "давления" на меня (здесь), вы лишь добились, что мы теперь будем общаться официально, как того и подобает моя зона ответственности.
Я вам отвечу в понедельник, по регламенту. Если остались вопросы, можете позвонить в рабочее время. Здесь писать не стоит, так как комментарии не соответствуют тематики поста и я вынужден их буду удалить.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».