Вставьте "теги Umbraco" с помощью события "Сбор данных узла".

У меня есть Тип Документа Статьи - Два свойства являются многоузловыми сборщиками деревьев.

Когда узел этого типа документа сохранен / опубликован, я хочу получить идентификаторы от этих сборщиков, которые ищут в umbraco имена узлов. Затем я хочу использовать эти имена узлов для создания тегов Umbraco и добавления их в индекс. (против сохраняемого узла)

Поскольку у меня есть два многоузловых средства выбора дерева, я хочу сохранить теги как группы тегов.

Это так, когда я выполняю пользовательский поиск по индексу, мне нужно искать только те узлы, которые имеют тип документа Article.

У меня настроено и работает событие GatheringNodeData, поэтому просто нужен совет о том, как это делается.

Это возможно / логично?

1 ответ

Это конечно возможно! В вашем событии GatheringNodeData вам просто нужно создать поля тегов и добавить их в индекс. Вот примерный код, который должен дать вам представление о том, как это сделать:

private void OnGatheringNodeData(object sender, IndexingNodeDataEventArgs e)
    {
        // Create searchable path
        if (e.Fields.ContainsKey("tagsField"))
        {
            //get the info that you need here and add it to the string you want to index
        }

        // Extract the filename from media items
        e.Fields.Add("modifiedTags", "YOUR STRING HERE");
    }

Затем вы можете выполнить поиск по тегу в поле "измененные теги". Единственная проблема, с которой вы можете столкнуться, это наличие у вас тега, который содержит другой тег. Например, если у вас есть теги "Мой тег" и "Мой тег 2", поиск "Мой тег" в новом поле вернет элементы, отмеченные обоими тегами.

Другие вопросы по тегам