В прошлом сообщении мы научились менять корневую папку для .cshtml-файлов, которые служат Razor-функциями в Composite C1.
По умолчанию - это папка ~/App_Data/Razor. Но вы теперь можете использовать любую другую папку для этих целей.
Еще более интересный вариант, это создание нескольких корневых папок для Razor-функций. По крайней мере, это показывает насколько гибкая эта система в настройках своего GUI.
Вкратце, у вас будет несколько экземпляров поставщика Razor-функций (под разными именами), которые будут привязаны к разным папкам.
Чтобы это сделать:
Давайте добавим их в разделе "Функции":
По умолчанию - это папка ~/App_Data/Razor. Но вы теперь можете использовать любую другую папку для этих целей.
Еще более интересный вариант, это создание нескольких корневых папок для Razor-функций. По крайней мере, это показывает насколько гибкая эта система в настройках своего GUI.
Использование нескольких корневых папок для файлов Razor-функций
Вкратце, у вас будет несколько экземпляров поставщика Razor-функций (под разными именами), которые будут привязаны к разным папкам.
Чтобы это сделать:
- Создайте новую папку для файлов Razor-функций, например ~/App_Data/Shared/Razor, и скопируйте туда web.config из ~/App_Data/Razor.
- Теперь откройте ~/App_Data/Composite/composite.config и найдите такой элемент: configuration/Composite.Functions.Plugins.FunctionProviderConfiguration/FunctionProviderPlugins/add[@name="RazorFunctionProvider"].
- Ниже добавьте такой же элемент, но при этом задайте ему новое название в атрибуте name, напр. "SharedRazorFunctions" и укажите другую папку в атрибуте directory, напр., ~/App_Data/Shared/Razor:
<Composite.Functions.Plugins.FunctionProviderConfiguration>
<FunctionProviderPlugins>
<!-- др. настройки -->
<add name="RazorFunctionProvider" directory="~/App_Data/Razor" type="Composite.Plugins.Functions.FunctionProviders.RazorFunctionProvider.RazorFunctionProvider, Composite" />
<add name="SharedRazorFunctions" directory="~/App_Data/Shared/Razor" type="Composite.Plugins.Functions.FunctionProviders.RazorFunctionProvider.RazorFunctionProvider, Composite" />
<!-- др. настройки -->
</FunctionProviderPlugins>
</Composite.Functions.Plugins.FunctionProviderConfiguration> - Сохраните изменения и перезагрузите сервер (Инструменты / Перезапустить сервер).
Давайте добавим их в разделе "Функции":
- Откройте ~/App_Data/Composite/composite.config и найдите такой элемент: configuration/Composite.C1Console.Elements.Plugins.ElementProviderConfiguration/ElementProviderPlugins.
- Добавьте еще один элемент указав другое название (name) и надпись для админки (label):<Composite.C1Console.Elements.Plugins.ElementProviderConfiguration rootProviderName="VirtualElementProvider"><ElementProviderPlugins><!-- др. настройки --><add razorFunctionProviderName="RazorFunctionProvider" type="Composite.Plugins.Elements.ElementProviders.RazorFunctionElementProvider.RazorFunctionElementProvider, Composite"name="RazorFunctionProviderElementProvider" /><add razorFunctionProviderName="SharedRazorFunctions"label="Shared Razor Functions" type="Composite.Plugins.Elements.ElementProviders.RazorFunctionElementProvider.RazorFunctionElementProvider, Composite"name="SharedRazorFunctionsElementProvider" /><!-- др. настройки --></ElementProviderPlugins></Composite.C1Console.Elements.Plugins.ElementProviderConfiguration>\
- Теперь в элементе ElementProviderPlugins найдите дочерний элемент add[@name="VirtualElementProvider"]/Perspectives/add[@name="FunctionsPerspective"]/Elements.
- Добавьте в него свой новый поставщик функций:<Composite.C1Console.Elements.Plugins.ElementProviderConfiguration rootProviderName="VirtualElementProvider"><ElementProviderPlugins><!-- др. настройки --><add type="Composite.Plugins.Elements.ElementProviders.VirtualElementProvider.VirtualElementProvider, Composite" name="VirtualElementProvider"><Perspectives><!-- др. настройки --><add name="FunctionsPerspective" tag="Functions" label="${Composite.Management, VirtualElementProviderElementProvider.FunctionsPerspective}" closeFolderIconName="Composite.Icons.functioncall" type="Composite.Plugins.Elements.ElementProviders.VirtualElementProvider.SimpleVirtualElement, Composite"><Elements><!-- др. настройки --><add providerName="SharedRazorFunctionsElementProvider"name="SharedRazorFunctionsElementProvider" type="Composite.Plugins.Elements.ElementProviders.VirtualElementProvider.AttachProviderVirtualElement, Composite" /></Elements></add></Perspectives></add></ElementProviderPlugins></Composite.C1Console.Elements.Plugins.ElementProviderConfiguration>
- Сохраните изменения и перезагрузите сервер (Инструменты / Перезапустить сервер).
Комментариев нет:
Отправить комментарий