3

テーマにジアゾを使用していますが、すべてのポップアップに問題があります。Plone 4.1.3 を使用しています。

テーマのポップアップを防ぐために、次のルールを含める必要があることをよく読みました。

<theme href="index.html" css:if-content="#visual-portal-wrapper" />

すでにそうです。おそらく、このルールはいくつかのポップアップでは機能しますが、login_form、select_default_page、contact-info では機能しません。

なんで ?この 3 つのテンプレートすべてに #visual-portal-wrapper が含まれているためです。

だから、私はそのようないくつかのルールで試しました:

<notheme if-path="select_default_page" />
<notheme if-path="contact-info" />
<notheme if-path="login" />

しかし、それはあまり効率的ではありません。このルールのテンプレートを 1 つ忘れた場合は、それを追加する必要があり、誰かが (ポップアップなしで) /contact-info にアクセスすると、ページのスタイルが解除されます (もちろん、それは良くありません.. .)。

URL の側面を調べてみましたが、「ajax_load」クエリ文字列があることがわかりましたが、連絡先情報にはありません。

また、main_template、「pb_ajax」クラスに追加された HTML を見ようとしましたが、それも機能しませんでした...

では、ポップアップでテンプレートを識別する方法はありますか?

編集 :

テンプレートは次のとおりです: http://pastealacon.com/29662

ここにrule.xmlがあります:http://pastealacon.com/29663

4

1 に答える 1

3

テンプレートにid="content"divタグが含まれていることを確認する必要があります。

ポップアップがAJAXを介してロードされる場合、ポップアップに必要のないものすべて(デザインのすべてのクロム)を取り除くフィルターが採用されます。popupforms.jsで定義されているそのフィルターは次のとおりです。

var common_content_filter = '#content>*:not(div.configlet),dl.portalMessage.error,dl.portalMessage.info';

ここで重要なのは「#content>*」です。これは、id ="content"div内にあるものを除くすべてを除外していることを意味します。ただし、そのdivが欠落している場合、一致するものはなく、返されたすべてのhtmlがポップアップに表示されます。混乱。

于 2012-02-08T16:56:34.157 に答える