---
title: "例:任意の項目の下に子項目の数を制限するコード"
slug: "example--code-to-limit-the-number-of-child-items-under-any-item"
abstract: "ユーザーが任意のアイテムの下に指定された数以上の子項目を作成できないという要件を実装したコード例です。"
---
# 例:任意の項目の下に子項目の数を制限するコード

以下のInsert Optionsパイプラインプロセッサコードは、ユーザーが任意の項目の下に指定された数以上の子項目を作成できないという要件を実装しています:

namespace Namespace.Pipelines.GetMasters
 {
 public class LimitChildren
 {
 private int \_maxChildren = 25;
 public int MaxChildren
 {
 set
 {
 \_maxChildren = value;
 } get { return \_maxChildren; } } public void Process(Sitecore.Pipelines.GetMasters.GetMastersArgs args) { if(MaxChildren>-1 && args.Item.Children.Count>=MaxChildren) { args.Masters.Clear(); } } } }

既存のNamespace.Pipelines.GetMasters.GetInsertRulesプロセッサの後、既存のNamespace.Pipelines.GetMasters.CheckSecurityプロセッサの前に、**web.config**ファイル内のInsert Optionsパイプライン定義にプロセッサを追加します:

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