标签: zpt

如何用TAL创建zebra-stripe CSS?

如何使用Chameleon或Zope页面模板轻松创建CSS斑马条纹?我想为表中的每一行添加oddeven类,但是使用条件repeat/name/odd或者repeat/name/even看起来相当冗长,即使使用条件表达式:

<table>
   <tr tal:repeat="row rows" 
       tal:attributes="class python:repeat['row'].odd and 'odd' or 'even'">
       <td tal:repeat="col row" tal:content="col">column text text</td>
   </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

如果您有多个要计算的类,这将变得特别繁琐.

css zope zpt chameleon template-tal

50
推荐指数
1
解决办法
2795
查看次数

仅覆盖Plone标准内容类型的Description字段

我想只删除Plone标准内容类型(Document,Folder,blabla)的经典"描述字段"的"视图",因为我需要用结构化文本"结构化"该字段的文本,如:

This is my description<br/>
with many lines<br/>
bla bla<br/>
Run Code Online (Sandbox Code Playgroud)

plone archetypes zpt template-tal template-metal

7
推荐指数
1
解决办法
878
查看次数

什么时候在我的tal:条件上使用nocall?

我知道为了性能,最好nocall在a 上使用<tal:condition>以避免调用对象.会欣赏(链接)一些背景,因为这对我来说听起来有点模糊:-)

所以你什么时候使用nocall?把它放在我所有的条件下会不会受伤?

谢谢 !

performance zope plone zpt template-tal

6
推荐指数
2
解决办法
904
查看次数

Jinja SandboxedEnvironment和Zope2受限制的Python

Jinja的沙箱和Zope 2 RestrictedPython似乎解决了类似的问题.有没有办法对它们进行分层,即在Jinja环境中使用RestrictedPython策略?该用例是将Jinja模板改造为现有的基于Zope2的产品,以取代ZPT/TAL.

python zope jinja2 zpt

5
推荐指数
1
解决办法
180
查看次数

如何检查它是否是使用ZPT的Plone网站的主页?

如果不是主页,我想改变我的网站标题.那有一个tal:condition表达式吗?

我一直在读这个,找不到我要找的东西......

谢谢!

python zope plone zpt template-tal

3
推荐指数
1
解决办法
1144
查看次数

Plone配置

Plone在其页面中展示了我母语(巴西葡萄牙语)中的特殊字符.但是,当我使用spt页面时,我创建它显示转义序列,例如:

Educa\xc3\xa7\xc3\xa3o
Run Code Online (Sandbox Code Playgroud)

代替

Educação
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,这意味着教育).我正在创建一个python函数来用utf字符替换转义序列,但我有一种感觉,我在没有必要的情况下无所事事.

plone zpt

3
推荐指数
1
解决办法
166
查看次数

更改Zope模板中的属性

我正在为包含文件的对象编写模板.我正在按照主题构建块说明进行操作.

<a tal:attributes="href item/id">foo</a>
Run Code Online (Sandbox Code Playgroud)

这使得liks下载文件,如下所示:

<a href="foo">foo</a>
Run Code Online (Sandbox Code Playgroud)

但我希望该链接指向文件的视图页面,显示其标题,描述以及允许下载它.所以我想获得下一个输出:

<a href="foo/view">foo</a>
Run Code Online (Sandbox Code Playgroud)

如何生成该属性?

zope plone zpt template-tal

3
推荐指数
1
解决办法
83
查看次数

将HTML标记中的数据存储为自定义属性

将相关信息存储在HTML标签中是一种很好的做法吗?

$("#my_div").append("<span id='info' boo='foo'/>");
$("#info").attr("boo");
Run Code Online (Sandbox Code Playgroud)

我在TAL(in ZPT)中遇到过这样的技术(稍微借用它),你可以使用tal:attributes语句来修改HTML标签(例如,boo从后端传递变量的值,作为属性值在最终文档中呈现):

<span id='info' tal:attributes='boo view/boo'>
Run Code Online (Sandbox Code Playgroud)

结果:

<span id='info' boo='foo'>
Run Code Online (Sandbox Code Playgroud)

这种技术有一天会破坏文档,还是规范安全?

html zpt template-tal

3
推荐指数
1
解决办法
7072
查看次数

如何使用TAL中定义的变量检索字典中键的值?

我在python中定义了一个字典:

tal:define="dic python:{'a':'1', 'b':'2'};"
Run Code Online (Sandbox Code Playgroud)

我有另一个使用tal:define名为var 定义的变量,它是'a'或'b'.我尝试这样做时出错:

tal:define="foo python:dic['${var}'];"
Run Code Online (Sandbox Code Playgroud)

(foo那么'1'或'2')我明白了KeyError: '${var}'.我试过了dic[$var],dic[var]等等,他们都没有用.如何使用先前定义的变量tal:define作为字典的键来获取其值.

python zope plone zpt template-tal

2
推荐指数
1
解决办法
1090
查看次数

.cpt模板和.pt模板之间有什么区别?

Plone中的.cpt模板和.pt模板有什么区别?有吗?

zope plone zpt

2
推荐指数
1
解决办法
274
查看次数

为什么在fill-slot或define-macro元素之外定义的变量在此元素中不可见?

为什么在该元素内部fill-slotdefine-macro元素外定义的变量不可见?

<body tal:define="a string:a">
    <metal:content-core fill-slot="content-core">
        <metal:content-core define-macro="content-core"
                            tal:define="b string:b">
            <div tal:content="a" />
            <div tal:content="b" />
            <div tal:content="c" />
        </metal:content-core>
    </metal:content-core>
</body>
Run Code Online (Sandbox Code Playgroud)

a无法评估带变量的故事表达式.当然b是可见的.

另一方面,如果变量c是在如下所示的封闭元素中定义define-slot的那么它是可见的.

<div tal:define="c string:c">
    <metal:text define-slot="content-core"></metal:text>
</div>
Run Code Online (Sandbox Code Playgroud)

看起来只有在插入插槽后才会评估变量.

plone zpt template-tal template-metal

2
推荐指数
1
解决办法
172
查看次数

将子域名保存到String

这是一个相当不寻常的请求,但是可以将子域提取到变量吗?

e.g.
(1)  sub1.mydomain.com
(2)  sub2.mydomain.com 
Run Code Online (Sandbox Code Playgroud)

当我点击(1)我想保存"sub1",反之亦然.我用plone(python和tal).感谢你的输入.

python subdomain plone zpt template-tal

1
推荐指数
1
解决办法
84
查看次数

在Plone页面模板中使用getPath时,在返回的结果中省略站点站点

我在Plone中有一个用于页面模板的TALES,它查看集合的结果并将它们插入到一个框中(类似于集合portlet的框)

我在从返回的项目中获取URL时遇到问题,我一直在使用getPath,但是它返回了站点名称,因此我的URL最终变为http://mysite.com/ThePloneSite/folder/page而不仅仅是http://mysite.com/folder/page,目前我的示例TALES如下:

<a tal:attributes="href string:${item/getPath}/view">Item</a>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了我能想象到的每一个变化,但我不记得它们所以所以这里有一对不起作用:

(这什么都不返回)

<a tal:attributes="href item/absolute_url">Item</a>
Run Code Online (Sandbox Code Playgroud)

这给了我一个追溯,抱怨"getpath":

<a tal:attributes="python:item.getObject().absolute_url()">Item</a>
Run Code Online (Sandbox Code Playgroud)

站点名称在链接中令人讨厌的唯一原因是,为了访问"状态"和"显示"按钮,您必须在最初单击链接后单击"查看"

注意:最后一个示例在您使用时有效,getFolderContents但我知道从集合返回的结果是不同的.

非常感谢任何帮助,谢谢.

EDIT Traceback绝对版本:

Traceback (innermost last):
  Module ZPublisher.Publish, line 126, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 46, in call_object
  Module Shared.DC.Scripts.Bindings, line 322, in __call__
  Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
  Module Products.PageTemplates.ZopePageTemplate, line 334, in _exec
  Module Products.PageTemplates.ZopePageTemplate, line 431, in pt_render
  Module Products.PageTemplates.PageTemplate, line 79, in pt_render
  Module zope.pagetemplate.pagetemplate, line 113, in …
Run Code Online (Sandbox Code Playgroud)

plone zpt template-tal

0
推荐指数
1
解决办法
200
查看次数