---
title: "例:フォルダをどこでも許可するInsert Optionsパイプラインプロセッサのコード"
slug: "example--code-for-the-insert-options-pipeline-processor-to-allow-folders-anywhere"
abstract: "ユーザーが任意のアイテムの下にフォルダを作成できる要件を実装したコード例です。"
---
# 例:フォルダをどこでも許可するInsert Optionsパイプラインプロセッサのコード

以下のオプション挿入パイプラインのプロセッサコードを使用して、ユーザーが任意の項目の下にフォルダを作成できるようにします。

namespace Namespace.Pipelines.GetMasters
{
 public class AllowFolderAnywhere
 {
 public void Process(Sitecore.Pipelines.GetMasters.GetMastersArgs args)
 {
 Sitecore.Data.Items.Item folder = args.Item.Database.ItemsSitecore.TemplateIDs.Folder;
 if(!args.Masters.Contains(folder))
 {
 args.Masters.Add(folder);
 }
 }
 }
 }

既存のGetItemMastersプロセッサの後、既存のGetInsertRulesプロセッサの前にプロセッサを挿入オプションパイプラインの定義に追加します:

<uiGetMasters argsType="Sitecore.Pipelines.GetMasters.GetMastersArgs">
 <processor mode="on"
type="Sitecore.Pipelines.GetMasters.GetItemMasters,Sitecore.Kernel"/>
 <processor mode="on" type="Namespace.Pipelines.GetMasters.AllowFolderAnywhere,Assembly" />
 <processor mode="on" type="Sitecore.Pipelines.GetMasters.GetInsertRules, Sitecore.Kernel"/>
 <processor mode="on" type="Sitecore.Pipelines.GetMasters.CheckSecurity, Sitecore.Kernel"/>
</uiGetMasters>

> !注この例を更新して、親から挿入オプションをコピーするロジックを取り入れることができます。例: [親項目から挿入オプションをコピーするコマンドテンプレートコード](https://doc.sitecore.com/xp/ja/developers/103/sitecore-experience-manager/example--command-template-code-to-copy-insert-options-from-the-parent-item.html "Example: Command template code to copy insert options from the parent item")。