2012-02-08 49 views
3

我使用重氮主題,並且我對所有彈出窗口都有問題。 我正在使用Plone 4.1.3。Unstyle全部彈出重氮主題

我已經讀了很多,爲了防止彈出窗口主題化,你必須包括這條規則:

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

這已經是這樣了。也許這個規則適用於某些彈出式窗口,但不適用於login_form窗口,也不適用於select_default_page,也不適用於contact-info窗口。

爲什麼?只因爲這一切的3個模板在#視覺門戶包裝

所以,我已經試過這樣的一些規則:

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

但是,它不是真正有效的,如果我忘了一個模板在這個規則中,我需要添加它,如果有人去/ contact-info(沒有彈出窗口),頁面是無風格的(當然,但它不好...)。

我試過看URL的一面,我看到有一個「ajax_load」查詢字符串,但它不存在於聯繫人信息中。

我也想看看在main_template的「pb_ajax」級增加了HTML,但沒有工作太...

那麼,有沒有一種方法來識別模板彈出窗口?

編輯:

這裏是模板:http://pastealacon.com/29662

這裏是rule.xml:http://pastealacon.com/29663

+0

使用CSS:if-content =「#visual-portal-wrapper」條件就足夠了。不需要額外的notheme。它的工作原理,你可能有其他問題的地方。你的主題是否可用(比如github)? – toutpt 2012-02-08 09:15:10

+0

奇怪... 這裏是模板:http://pastealacon.com/29662,這裏是rule.xml:http://pastealacon.com/29663 – Jihaisse 2012-02-08 12:22:37

回答

3

你需要確保你的模板包括ID = 「內容」 div標記。

當通過AJAX加載彈出窗口時,會使用過濾器去除彈出窗口(設計的所有鉻)不需要的所有內容。 popupforms.js中定義的過濾器是:

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

這裏的關鍵部分是「#content> *」。這意味着我們正在過濾除id =「content」div內的所有內容。但是,如果該div缺失,將不會有匹配,並且全部返回的HTML都會出現在彈出窗口中。一團糟。

+0

好的非常感謝,就是這樣。我的模板中有div #contenu而不是#content。 – Jihaisse 2012-02-09 07:55:01

+0

它是否也需要? – 2014-01-08 05:40:27