2014-07-14 51 views
1

有註冊爲遵循Plone的皮膚界面:獲得一個Zope 3瀏覽器層只知道接口它的名字

<interface 
     interface=".interfaces.IThemeSpecific" 
     type="zope.publisher.interfaces.browser.IBrowserSkinType" 
     name="My Theme Name" 
     /> 

什麼是讓知道名字的界面(my.app.browser.interfaces.IThemeSpecific)(」 My Theme Name最簡單的方法「)?

回答

3

這大概:

>>> from zope.component import getUtility 
>>> from zope.publisher.interfaces.browser import IBrowserSkinType 
>>> getUtility(IBrowserSkinType, name="Old Plone 3 Custom Theme") 
<InterfaceClass plonetheme.classic.browser.interfaces.IThemeSpecific> 
0

如果你已經安裝了這個plone皮膚的構建版本,那麼在其中添加collective.recipe.omelette將有助於你以後能夠在所有的包上找到它。

因此,像這樣將工作:

grep -R --include=*.zcml 'My Theme Name' parts/omelette 
+0

對不起,你誤會我的問題,這是關於從Plone的/ Python中獲取名稱,以動態的方式! –