Как переопределить панель уведомлений администратора?
-
13-12-2019 - |
Вопрос
В настоящее время я использую расширение и хотел бы добавить к нему несколько кодов, чтобы переопределить панель уведомлений, которая обычно отображается под заголовком.Судя по моим проверкам, файл, который отображает это...
/design/adminhtml/default/default/template/notification/toolbar.phtml
Я попытался добавить следующий код в XML-файл макета моего расширения, но это не сработало!
<reference name="notifications">
<action method="setTemplate">
<template>extension-folder/notification/toolbar.phtml</template>
</action>
</reference>
я проверил файл adminnotification.xml и понял, что в нем есть этот код:
<layout>
<default>
<reference name="notifications">
<block type="adminhtml/notification_toolbar" name="notification_toolbar" as="notification_toolbar" acl="system/adminnotification/show_toolbar" template="notification/toolbar.phtml" />
</reference>
<reference name="notifications">
<block type="adminhtml/notification_window" name="notification_window" as="notification_window" acl="system/adminnotification/show_toolbar" template="notification/window.phtml" />
</reference>
</default>
</layout>
поэтому я решил скопировать этот раздел:
<reference name="notifications">
<block type="adminhtml/notification_toolbar" name="notification_toolbar" as="notification_toolbar" acl="system/adminnotification/show_toolbar" template="notification/toolbar.phtml" />
</reference>
и вставьте его в XML-файл моего расширения и измените раздел шаблона, указав измененное местоположение моего шаблона.Это сработало, отобразилась моя измененная панель инструментов уведомлений, но теперь каким-то образом отображалось 2 ее экземпляра, и я не могу понять, почему!
может кто-нибудь помочь?
Решение
Ничего, я понял, что делаю не так!
ссылочное имя, которое я использовал, было неправильным.Вместо того, чтобы использовать notifications
я должен был использовать notification_toolbar
если вы посмотрите на коды, которые я опубликовал для adminnotification.xml, то увидите 2 блока под одним и тем же ссылочным именем.используя вместо этого имя блока, это сообщает xml конкретный блок, который я пытаюсь переопределить, что решает проблему!