Добрый день, коллеги!
Подскажите , кто знает, вот есть кнопка в верхнем правом углу , на любой странице, кнопка профиля, при нажатие на неё открывается меню , как в это меню добавить свою запись\кнопку ?
Нравится
Замещаете MainHeaderSchema и переопределяете loadProfileButtonMenu и вставляете необходимые код, который будет вызывать пользовательский метод
Спасибо большое, это именно тот модуль. Но что-то пошло не так ...
http://pixs.ru/showimage/Bezimyanni_3822167_22664458.png
Пропал в целом хедер страницы, и кнопки профиля. Я создал замещающую страницу, скопировал код который был, вставил, и изменил этот метод, просто добавил кнопку ещё одну, и метод для неё, который открывал бы страницу редактирования. И вот так получилось.
Такое впечатление что при наследовании этой страницы, потерялись картинки ... Такое было замечено в 7.8 с кепшинами, там это решить просто, пробел написать у каждой локалайзыбыл стринг, и все они появятся ... А как быть с картинками ?
"Заставный Роман" написал: Я создал замещающую страницу, скопировал код который был...
Т.е. вы вставили код из родительской схемы?
Вам нужно просто добавить новый код в замещающую схему, например вот так
define("MainHeaderSchema", [], function() { return { methods: { // обработчик нажатия на новый пункт меню myClickMethod: function() { window.console.log("работает"); }, //перегрузка родительского метода loadProfileButtonMenu: function() { //вызов родительского метода this.callParent(); //пользовательская реализация var profileMenuCollection = this.get("ProfileMenuCollection"); //сепаратор profileMenuCollection.addItem(this.Ext.create("Terrasoft.BaseViewModel", { values: { Type: "Terrasoft.MenuSeparator", Caption: "" } })); //новый пункт меню //используются существующие картинки и строки profileMenuCollection.addItem(this.Ext.create("Terrasoft.BaseViewModel", { values: { Caption: this.get("Resources.Strings.ProfileMenuItemCaption"), Click: { bindTo: "myClickMethod" }, MarkerValue: this.get("Resources.Strings.ProfileMenuItemCaption"), ImageConfig: this.get("Resources.Images.ContactEmptyPhoto") } })); } } }; });
После сохранения схемы и обновления страницы приложения полцчится так, как на прикрепленной картинке
"Симута Роман Русланович" написал:Т.е. вы вставили код из родительской схемы?
Спасибо вам большое! Сейчас попробовал оставить только необходимые методы, и все заработало. Но был как-то случай, что модуль отказывался работать полноценно, пока весь код из родительской схемы не перенёс в замещёную ...