Всех приветствую!
Подскажите, пожалуйста, как изменить статично значение заголовка на странице редактирования?
Страница унаследована от BaseModulePageV2, версия 7.17.2
getHeader: function() { return this.get("Resources.Strings.PageSettingsCaption"); }, initHeaderCaption: Ext.emptyFn, init: function() { this.getHeader(); this.callParent(arguments); },
Нравится
Здравствуйте Владислав,
Если необходимо изменить значение "Новая запись" на какое-либо другое, то необходимо изменить значение локал.строке "DefaultPageHeaderCaption". Само проставление значения происходит в subscribeSandboxEvents методе MainHeaderSchema здесь:
this.sandbox.subscribe("UpdatePageHeaderCaption", function(args) { if (args.hasOwnProperty("pageHeaderCaption")) { this.set("PageHeaderCaption", args.pageHeaderCaption || this.get("Resources.Strings.DefaultPageHeaderCaption")); } }, this);
Это подписка на сообщение, которое отправляется из метода updatePageHeaderCaption модуля BasePageV2:
updatePageHeaderCaption: function(changedColumnName) { if (this.getIsFeatureDisabled("OldUI")) { if (!changedColumnName || this.get("PageHeaderColumnNames").indexOf(changedColumnName) > -1) { if (this.get("IsEntityInitialized")) { var caption = this.getPageHeaderCaption(); this.sandbox.publish("UpdatePageHeaderCaption", { pageHeaderCaption: caption }); } } } },
Если же Вам необходимо изменить заголовок только одной странице, то необходимо в методах модуля этой страницы заместить метод updatePageHeaderCaption. Например вот так (это я в разделе контактов отключил миникарточку и добавил этот метод в ContactPageV2):
updatePageHeaderCaption: function() { this.callParent(arguments); this.sandbox.publish("UpdatePageHeaderCaption", { pageHeaderCaption: "For contacts" }); }
В результате, при создании новой записи, получаем:
И последнее: как правило в заголовке отображается значение в колонке, которая выбрана как Displayed value в настройках объекта, которую страница отображает:
Можете еще, если это вариант, поменять колонку в этом аттрибуте на другую.
С уважением,
Олег
Здравствуйте Владислав,
Если необходимо изменить значение "Новая запись" на какое-либо другое, то необходимо изменить значение локал.строке "DefaultPageHeaderCaption". Само проставление значения происходит в subscribeSandboxEvents методе MainHeaderSchema здесь:
this.sandbox.subscribe("UpdatePageHeaderCaption", function(args) { if (args.hasOwnProperty("pageHeaderCaption")) { this.set("PageHeaderCaption", args.pageHeaderCaption || this.get("Resources.Strings.DefaultPageHeaderCaption")); } }, this);
Это подписка на сообщение, которое отправляется из метода updatePageHeaderCaption модуля BasePageV2:
updatePageHeaderCaption: function(changedColumnName) { if (this.getIsFeatureDisabled("OldUI")) { if (!changedColumnName || this.get("PageHeaderColumnNames").indexOf(changedColumnName) > -1) { if (this.get("IsEntityInitialized")) { var caption = this.getPageHeaderCaption(); this.sandbox.publish("UpdatePageHeaderCaption", { pageHeaderCaption: caption }); } } } },
Если же Вам необходимо изменить заголовок только одной странице, то необходимо в методах модуля этой страницы заместить метод updatePageHeaderCaption. Например вот так (это я в разделе контактов отключил миникарточку и добавил этот метод в ContactPageV2):
updatePageHeaderCaption: function() { this.callParent(arguments); this.sandbox.publish("UpdatePageHeaderCaption", { pageHeaderCaption: "For contacts" }); }
В результате, при создании новой записи, получаем:
И последнее: как правило в заголовке отображается значение в колонке, которая выбрана как Displayed value в настройках объекта, которую страница отображает:
Можете еще, если это вариант, поменять колонку в этом аттрибуте на другую.
С уважением,
Олег