2016-05-03 11 views
1

にゾーンを登録していないテンプレート:Kentico ASPX +ポータルは、私は次のように1つのウィジェットゾーンでディスク上のWebフォームとテンプレートを作成したASPX +ポータルモデルを使用していKenticoでデータベース

<asp:Content id="content" runat="server" ContentPlaceHolderID="content"> 
    <h1>Home: <%= this.PageModel.DisplayTitle %></h1> 
    <cms:CMSPagePlaceholder ID="plcZones" runat="server"> 
     <LayoutTemplate> 
      <cms:CMSWebPartZone ID="zoneEditorContent" runat="server" ZoneTitle="Page content" WidgetZoneType="Editor" /> 
     </LayoutTemplate> 
    </cms:CMSPagePlaceholder> 
</asp:Content> 

私は、これを登録しましたKenticoのページテンプレートモジュール。

このテンプレートを使用するページでは、ページタブにゾーンが表示されますが、ウィジェットを追加することはできません。ウィジェットライブラリをブラウズし、ウィジェットを選択し、そのプロパティを設定し、ダイアログを保存して閉じることができますが、ページは空のまま更新されます。

私は、データベーステーブル[dbo].[CMS_PageTemplate]の関連するテンプレートレコードの[PageTemplateWebParts]プロパティが値 '<page />'に設定されていることを発見しました。

これを '<page><webpartzone id="zoneEditorContent" v="1" widgetzonetype="editor" /></page>'に変更すると問題が解決されました。ページタブのゾーンにウィジェットを追加できるようになりました。

私の質問は、ここで間違っていますか?私は、このデータベースフィールドを手動で設定しないと仮定します。もしKenticoがこれを自動的に行うべきなのですか?もしそうなら、私はこれを実現するために何が欠けていますか?私はKentico documentationを正確に追跡したと信じています。

答えて

1

あなたは間違ったことはしていません。私はこれが奇妙な動作であることに同意する必要がありますが、マークアップのWidgetZoneTypeプロパティを設定することはできません(=効果はありません)。管理UI(ゾーンのプロパティ)を使用して手動で設定する必要があります。これが問題の場合は、Kentico`s User voiceに追加することを検討してください。

YMHO私はあなたが正しいと思っています。少なくとも、マークアップでこのプロパティを使用することはできません。

EDIT:私の悪い、それはあまりにも、docsに記載されている点に注意してください。変更内容をデータベースに保存しないレイアウトコードに直接WidgetZoneTypeプロパティを変更する

。ゾーンプロパティを設定して、ウィジェットのゾーンタイププロパティを設定する必要があります。

関連する問題