委任コントロールをカスタマイズする

この例では、サイトのページに表示される検索ボックス用の委任コントロール候補を作成して実装する基本プロセスを紹介します。このコントロールでは、コントロールをアクティブ化する Web サイトの検索ボックスに使用される代替テキストおよび代替イメージ ファイルを指定します。

検索ボックス アイコンおよび代替テキストを変更するには

  1. 既定の \FEATURES\ContentLightup フォルダを \Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES ディレクトリにコピーして、NewSearchBox という名前のフォルダを作成します。

  2. NewSearchBox フォルダで、コピーした Feature.xml ファイルを開き、Local_Drive:\Program Files\Microsoft Visual Studio 8\Common7\Tools にある guidgen.exe を実行して Feature に新しい GUID を生成します。次に示すように、Scope 属性を Web に設定し、Feature が Web サイトレベルでアクティブ化されるようにします。

    <?xml version="1.0" encoding="utf-8"?>
    <Feature 
      Id="9E16894A-998F-4928-97B3-FCB35EAD1C49"
      Title="Standard User Interface Items"
      Description="Provides several standard user interface components and links"
      Version="12.0.0.0"
      Hidden="TRUE"
      DefaultResourceFile="core"
      Scope="Web"
      xmlns="https://schemas.microsoft.com/sharepoint/">
      <ElementManifests>
        <ElementManifest Location="controls\SearchArea.xml" />
      </ElementManifests>
    </Feature>
    
  3. ステップ 1 にある Controls サブフォルダ内の SearchArea.xml ファイルを変更し、代替の .ascx ファイルを参照するようにします。また、次に示すように、代替テキストと Sequence 値 (100 未満) を指定します。

    <?xml version="1.0" encoding="utf-8" ?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <Control 
        Id="SmallSearchInputBox" 
        Sequence="99"
        ControlSrc="~/_controltemplates/mySearchArea.ascx">
        <Property Name="SearchTextToolTip">Enter text here</Property>
        <Property Name="SearchImageToolTip">Go!</Property>
      </Control>
    </Elements>
    
  4. \TEMPLATE\CONTROLTEMPLATES で SearchArea.ascx ファイルをコピーして、コピーしたファイルの名前を mySearchArea.ascx に変更します。

  5. コピーした .ascx ファイルの最後の方にある <img> タグの、src 属性の値を変更し、代替イメージ ファイルを参照するようにします。テスト用には、以下の例のように \TEMPLATE\IMAGES にインストールされている既定のイメージ ファイルのいずれかを使用できます。例では gosearch.gif を FOLDER.GIF に置き換えています。

    <INPUT Type=TEXT id='idSearchString' size=25 style='vertical-align: 2' name='SearchString' display='inline' maxlength=255 ACCESSKEY=S class='ms-searchbox' onKeyDown="return SearchKeyDown(event, <%=strEncodedUrl%>);" title=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SearchTextToolTip),Response.Output);%>>
    <IMG SRC="/_layouts/images/blank.gif" width=4 height=1 alt="">
    <a target='_self' href='javascript:' onClick="javascript:SubmitSearchRedirect(<%=strEncodedUrl%>);javascript:return false;" title=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SearchImageToolTip),Response.Output);%> ACCESSKEY=O ID=onetIDGoSearch>
        <img border='0' src="/_layouts/images/FOLDER.GIF" style='vertical-align: 1'alt=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SearchImageToolTip),Response.Output);%>></a>
    &nbsp;
    </span>
    </nobr>
    
  6. コマンド プロンプトでローカル ドライブの \Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN に移動し、展開に Feature をインストールするコマンド、指定したサブサイトで Feature をアクティブ化するコマンド、および Microsoft インターネット インフォメーション サービス (IIS) をリセットするコマンドを入力して、変更を適用します。

    stsadm -o installfeature -filename NewSearchBox\Feature.xml
    
    stsadm -o activatefeature -filename NewSearchBox\Feature.xml -url https://Server/Site/Subsite
    
    iisreset
    
  7. 指定したサブサイトのホーム ページに移動し、検索ボックスに対する変更を確認します。

See Also

参照

DelegateControl

概念

委任コントロール (コントロールのテンプレート化)

委任コントロール