Недавно я столкнулся с проблемой, когда мои блоки, не являющиеся контентом (настройки сайта, категории и т. д.), создавали папку «Для этого» с отсутствующим токеном. Этот отсутствующий токен появился в пользовательском контенте, а также в надстройках, таких как категории Geta.
Для пользовательского контента для получения значения в этот пустой токен необходимы две вещи: XML-файл в папке lang и UIDescriptor. Чтобы исправить надстройку, такую как Geta Category (в которой уже встроен UIDescriptor), все, что нужно, — это XML-файл в папке lang. Это довольно простой XML-код, который просто обозначает тип контента и имя, которое вы хотите ему дать. Вот так:
Простое добавление файла для категорий Geta решит проблему, поскольку необходимый UIDescriptor уже включен в пакет. Результат будет выглядеть следующим образом:
Для ваших собственных типов также требуется уже упомянутый UIDescriptor. Это простой фрагмент кода, который уведомляет Optimizely, что и какие токены нужно заполнить. XML можно расширить, включив в него несколько типов, каждый из которых имеет свой собственный узел имени, определяемый пользователем.
[UIDescriptorRegistration]
public class SettingsBlockFolderDescriptor : UIDescriptor
{
public SettingsBlockFolderDescriptor()
{
IsPrimaryType = true;
}
}