Кнопка Profile

Добрый день, коллеги!

Подскажите , кто знает, вот есть кнопка в верхнем правом углу , на любой странице, кнопка профиля, при нажатие на неё открывается меню , как в это меню добавить свою запись\кнопку ?

Нравится

8 комментариев

Замещаете 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")
					}
				}));
			}
		}
	};
});

После сохранения схемы и обновления страницы приложения полцчится так, как на прикрепленной картинке

"Симута Роман Русланович" написал:

Т.е. вы вставили код из родительской схемы?


Спасибо вам большое! Сейчас попробовал оставить только необходимые методы, и все заработало. Но был как-то случай, что модуль отказывался работать полноценно, пока весь код из родительской схемы не перенёс в замещёную ...

Пожалуйста :)

Показать все комментарии