用于extjs v3 javascript库的zope3 ui层、资源和viewlets包。
falkolab.ext3.layer的Python项目详细描述
用于extjs v3 javascript库的zope3 ui层、资源和viewlets包
简介
下载extjs v3.x(http://extjs.com/products/extjs/download.php) 把它放在你的操作系统的任何地方。 例如,对我来说,它是以下路径:/usr/lib/ext-3 在此文件夹中,必须位于extjs v3 framework distribution。
项目注册资源目录中的任何位置都已命名为ext-3。 例如:
<resourceDirectory layer="falkolab.ext3.layer.IExtJSLayer" name="ext-3" directory="/usr/lib/ext-3" />
此包将查找名为ext-3的资源目录, 因此,在resourcedirectory语句中使用相同的名称非常重要。
如何使用?
这个包提供了两个viewlet管理器:iextlayercss和iextlayerjavascript。 您可以在项目外观模板中使用它。例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" i18n:domain="mysite"> <head> ... <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="pragma" content="no-cache" /> <tal:block replace="structure provider:IExtLayerCSS" /> <tal:block replace="structure provider:IExtLayerJavaScript" /> </head> <body> ... </body> </html>
或者为falkolab.ext3.layer.iextlayercss派生/实现自己的管理器 以及falkolab.ext3.layer.iextlayerjavascript接口。
注意:对于包括订单在内的必要脚本,请使用订单管理器: zope.viewlet.manager.weightOrderedViewletManager
这个包包含几个用于extjs的viewlet bunles。根据基础使用其中一个 您使用的库:
ext-all.css | All ExtJS library CSS styles. |
ext-standalone | ExtJS library with own adapter (without any external dependences). IExtStandaloneLayer and IExtStandaloneDebugLayer layers. |
ext-jquery | ExtJS library with jQuery adapter (WARNING: read note below). IExtJQueryLayer and IExtJQueryDebugLayer layers. |
ext-yui | ExtJS library with YUI adapter (WARNING: read note below). IExtYUILayer and IExtYUIDebugLayer layers. |
ext-prototype | ExtJS library with Prototype adapter (WARNING: read note below). IExtPrototypeLayer and IExtPrototypeDebugLayer layers. |
注意:对于依赖于外部库jquery、yui或prototype的包 您必须手动在项目中注册相应的资源并将其放置到 你的模板在此包包含之前。 请看http://extjs.com/learn/Ext_Getting_Started#What_is_the_proper_include_order_for_my_JavaScript_files.3F 详细情况。
皮肤层系统示例:
from z3c.layer.pagelet import IPageletBrowserLayer from zope.viewlet.interfaces import IViewletManager from zope.publisher.interfaces.browser import IBrowserRequest from falkolab.ext3.layer import IExtJQueryLayer, IExtJQueryDebugLayer from falkolab.ext3.layer.interfaces import IExtLayerCSS, IExtLayerJavaScript class myskin(IExtJQueryLayer): """ layer for skin base components """ class IMySkin(myskin, IPageletBrowserLayer): """ IMySkin skin """ class IMyDebugSkin(IExtJQueryDebugLayer, IMySkin): """ IMySkin debug skin """ class ITitle(IViewletManager): """Title viewlet manager.""" # This two interfaces for case when you use own Viewlet Managers # registration for combine site templete and falkolab.ext3.layer viewlets. class ICSS(IExtLayerCSS): """CSS viewlet manager.""" class IJavaScript(IExtLayerJavaScript): """JavaScript viewlet manager."""
更改
1.0.1(2009-09-30)
- 错误修复:替换viewlets的适配器脚本名
- 符合调试版本
1.0.0A(2009-06-05)
- 初次发布。