Kentico-カレンダーを使用して予約システムイベントをろ過する
質問
ケンチコCMSを把握するのに多くの問題がありますが、ついにどこか近くになっています。通常のポータルエンジンを使用しており、ローカルインストールでKentico 5.5 RC2を実行しています。
現在、リピーターを使用してシステムで利用可能なすべてのイベントを表示するイベントページがあります。カレンダーを使用して、そのリピーターでイベントをフィルタリングできるようにしたいと思います。どうやってこれを進めますか?
解決
いくつかの方法があります。
- カスタムユーザーコントロール
- カスタムWebパーツ
- クエリ文字列パラメーター
最も簡単なのは最後のものです。または、最初の2つと最後の2つの組み合わせ。好みの方法を介してカレンダーコントロールを追加します(ajaxカレンダー、jqueryカレンダー、u003Casp:Calendar> 、またはあなたが好きなもの)そしてそれをテキストフィールドに入力させます。次に、JavaScriptを実行して、ページをリロードするURLクエリ文字列を変更します。
Kentico RepeaterのWebパーツプロパティに移動します。の中に Content filter->WHERE condition
フィールドでは、特別なマクロを介して句とクエリの文字列パラメーターを注入する標準SQLを記述できます。 {?QUERYSTRINGPARAMETERNAME?}
. 。例えば http:// url/page?myfilter = 2 だろう {?myfilter?}
. 。それはそれを作ります WHERE
次のようなものを節約します: {?myfilter?} = '' OR {?myfilter?} = SqlFieldToCompare
.
ケンティコは、彼らがセキュリティのためにそのマクロを逃れると主張しているが、私はそれを個人的に確認していない。でも私たちのために働いています。
カスタマーユーザーコントロールまたはWebパーツを使用した場合、コントロールマクロを使用してより安全なポストバックメソッドを使用できます(上記のクエリストリングマクロの代わりに)。
マクロの詳細については、を参照してください 開発者ガイド付録Aマクロ.