カレンダー ポートレットと同様に、さまざまなポートレット表示に反映されるパラメーターを変更するためのユーザー インターフェイスを提供する plone ポートレットに取り組んでいます。つまり、ポートレットは、表示されるポートレット コンテンツを更新するためのリンクを提供します。
plone 開発者マニュアルhttp://plone.org/documentation/manual/developer-manual/client-side-functionality-javascript/kssには、kss の使用は非推奨であると記載されています。
KSS は動作をドキュメント ノードにバインドするための Plones の標準メカニズムでしたが、徐々に jQuery に置き換えられています。Plone 4.1 の時点で、KSS は非推奨です。新しい KSS 依存の機能を作成しないでください。既存の機能を置き換える計画を立てます。
plone.portlets の README.txt は、ポートレットの管理、割り当てなどに関する、ポートレット インフラストラクチャの機能に関する優れた情報です (ありがとう、optilude からだと思います!)。
plone.app.portlets には、calendar-portlet の関連コードがあります。これは、私が開発したポートレットについてアドバイスをくれると思いました。生成されたポートレット html には、ポートレット関連の dict がエンコードされたハッシュ値が含まれています。これは、ajax 要求が着信したときにサーバー マシンが使用します。インフラストラクチャを提供するプレーンの数は?
plone.app.kss の中には calendar.py というファイルがあり、
# --
# Calendar in-place refreshment
# --
implements(IPloneKSSView)
@kssaction
def refreshCalendar(self, month, year, portlethash):
'In-place refreshment of the calendar.'
month, year = int(month), int(year)
self.getCommandSet('plone').refreshPortlet(portlethash, year=year, month=month)
開発者マニュアルの声明に怯えて、次のことを決定する必要があります。
ポートレットを更新するには、kss の方法を使用する必要がありますか? もしそうなら、どのように plone 機械に私のパラメータセットを更新するように伝えますか? パラメータをリンクのタグに入れることは知っていますhref
が、plone はどのようにそれを処理するかを知っていますか? 提供された機能のクライアント側、すぐにインストールできる js ファイルなどは、特定のポートレットの ajax 応答を処理する準備ができていますか?
ポートレットを更新するために提案されたクリーンで唯一の js-ajax の方法は、特にクライアント側でどのように機能しますか?
フォールバック ソリューションとして、javascript や kss を使用せずにポートレットを更新する方法はありますか?
私は、centos プラットフォームの python 2.7.3 でビルドアウトを使用してクリーンな Plone 4.2.4 をインストールして作業しています。
特に、何が起こっているのか、ポートレット更新機能のクライアント側でどのように正確に機能するのかについて、アドバイスがあれば、私のような同じレベルの知識を持つ人々を助けることができます. サーバー側のポートレット関連のコードは、ポートレットの機械がどのように機能するかを理解するのに十分に文書化されていますが、ポートレットの更新更新ラウンドトリップで何が起こっているのか、提供された独自のポートレット コマンド セットを備えた機械。