Home » Создайте баннер среды, который выделяет текущую среду для электронной

Создайте баннер среды, который выделяет текущую среду для электронной

Недавно я получил запрос от редакторов, иногда они забывали проверить URL-адрес браузера и продолжать работать в неправильной среде и публиковать контент в неправильной среде. например, один из редакторов тестировал что-то в подготовительной среде, и что-то произошло между небольшим обновлением рабочей среды, он непреднамеренно обновил вспомогательную среду и подумал, что сделал свою работу. Итак, редакторы спросили, можем ли мы разместить баннер поверх каждой страницы, указывающий на текущую среду. Это может помочь нам свести к минимуму человеческую ошибку, подобную этой?

  1. Посмотрим, как я выполню это требование.

    Прежде всего, я создал новый класс компонентов в бизнес-папке, подобный этому.

    [Component(PlugInAreas = “/episerver/cms/action”, 
            Categories = “cms”, 
            WidgetType = “yourCompanyName/environments/environmentHighlighter”) 
            ]
    открытый класс EnvironmentHighlighterComponent
    {}
    В компоненте есть три важные части

    PlugInAreas: определяет, где в cms должно отображаться содержимое компонента. существуют различные способы получить значение PlugInAreas для использования
    Класс EPiServer.Shell.PlugInArea

    Но для моего требования я не нашел никакого значения, которое можно было бы использовать для области глобального меню в EPiServer.Shell.PlugInArea. Итак, я решил проверить, какие предопределенные компоненты доступны в системе. Среди различных предопределенных компонентов панель инструментов была наиболее близкой к моему требованию.

    при дальнейшем просмотре определения панели инструментов я обнаружил, что «/episerver/cms/action» PlugInAreas работает для меня.

      1. Категории: я хотел показать компонент для всех страниц cms, поэтому просто указал «cms» в качестве категории. другим значением может быть «приборная панель».
      2. WidgetType: это значение относится к различным настройкам ваших ClientResources, например, к редакторам, виджетам и т. д., для нашего случая мы использовали
        “yourCompanyName/environments/environmentHighlighter”
        1. yourCompanyName — это имя пространства имен виджета, которое будет использоваться в файле module.config.
        2. environments — это путь к папке в папке ClientResources.
        3. environmentHighlighter — это имя файла js, в котором будет написан код Dojo. так

Вторая часть — это обновление или создание нового файла module.config в корне сайта и обновление следующим образом.






в приведенном выше файле конфигурации мы пытаемся сопоставить папку виджетов с папкой ClientResources.

Третья часть — создание файла сценария Dojo. в нашем случае имя файла — файл environmentHighlighter.js.
определять([
  “dojo/_base/declare”,
  “dijit/_WidgetBase”,
  “dijit/_TemplatedMixin”
],
функция (объявить, _WidgetBase, _TemplatedMixin)
{
return declare(“yourcomapanyname/environments/environmentHighlighter”,
[
        _WidgetBase,
        _TemplatedMixin
      ],
{
templateString: dojo.cache(“/EnvironmentHighlighter/Index”)});
});

в приведенном выше сценарии есть две важные части.

  1. декларация: значение совпадает со значением WidgetType.
  2. Оператор templateString сообщает додзе, откуда должен браться html, в нашем случае EnvironmentHighlighter — это контроллер, а Index — это метод.

Четвертая и последняя часть — создание контроллера, просмотр и настройка маршрута, эти части говорят сами за себя.
Контроллер
открытый класс EnvironmentHighlighterController: контроллер
{
публичный индекс ActionResult()
{
вернуть частичное представление();
}
}
Вид:

@{
var currentEnvironment = Environments.CurrentEnvironment;
var greenColor = “#2cd31f”;
вар оранжевый цвет = “# ff6a00”;
var colorScheme = currentEnvironment == Environments.Environment.Production.ToString() ? оранжевый цвет : зеленый цвет;
}

Вы работаете в среде @currentEnvironment

Маршрутизация:
RouteTable.Routes.MapRoute(“EnvironmentHighlighter”, “environmenthighlighter/Index”, новый { контроллер = “EnvironmentHighlighter”, action = “Index” });

Вот и все!

07 августа 2023 г.

Read more:  Примечания к выпуску для программы предварительной оценки Xbox — Delta (2311.240110-1710)

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.