Home » Исправление отсутствующего токена для этого {0}

Исправление отсутствующего токена для этого {0}

Недавно я столкнулся с проблемой, когда мои блоки, не являющиеся контентом (настройки сайта, категории и т. д.), создавали папку «Для этого» с отсутствующим токеном. Этот отсутствующий токен появился в пользовательском контенте, а также в надстройках, таких как категории Geta.

Для пользовательского контента для получения значения в этот пустой токен необходимы две вещи: XML-файл в папке lang и UIDescriptor. Чтобы исправить надстройку, такую ​​​​как Geta Category (в которой уже встроен UIDescriptor), все, что нужно, — это XML-файл в папке lang. Это довольно простой XML-код, который просто обозначает тип контента и имя, которое вы хотите ему дать. Вот так:

 

   

     

        Working Category!

     

   

 

Простое добавление файла для категорий Geta решит проблему, поскольку необходимый UIDescriptor уже включен в пакет. Результат будет выглядеть следующим образом:

Для ваших собственных типов также требуется уже упомянутый UIDescriptor. Это простой фрагмент кода, который уведомляет Optimizely, что и какие токены нужно заполнить. XML можно расширить, включив в него несколько типов, каждый из которых имеет свой собственный узел имени, определяемый пользователем.

 

   

     

        Setting

     

     

        Category

     

   

 

UIDescriptor — это несколько строк кода, унаследованных от общего UIDescriptor, где T — это тип контента, на который мы хотим ориентироваться. Как вы можете видеть в XML, родительский узел имени должен быть именем типа контента, чтобы Optimizely мог правильно его соединить.

    [UIDescriptorRegistration]

    public class SettingsBlockFolderDescriptor : UIDescriptor

    {

        public SettingsBlockFolderDescriptor()

        {

            IsPrimaryType = true;

        }

    }

Теперь, когда обе части установлены, вместо пустого токена {0} появляется наше XML-имя:

Read more:  Жуткое убийство Шраддхи привлекло внимание к домашнему насилию в Индии – Новости

Leave a Comment

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