标签: template-tal

PHPTAL和嵌套模板.可能?

在过去的几天里,我一直在玩PHPTAL.总的来说我非常喜欢它.比我调查的其他大多数人都要容易得多.不过,我有一个特别的问题.

这是问题所在.我试图嵌套两个模板.假设InnerClass有这个模板:

<div>Hello World!</div>
Run Code Online (Sandbox Code Playgroud)

OuterClass具有以下模板:

<div tal:content="myVar">This text should be replaced with the HTML above.</div>
Run Code Online (Sandbox Code Playgroud)

InnerClass还有一个名为render()的方法,它实质上调用了themplate的execute()方法并返回内容.所以我在外类中这样做:

$template->myVar = $innerClassObject->render();
Run Code Online (Sandbox Code Playgroud)

然后,我显示OuterClass的内容.问题是内部类的呈现HTML被转义,我看到">"和"<"而不是实际的标签.似乎myVar在显示内容之前完全转义.

由于这种方法不起作用,嵌套PHPTAL模板的最佳方法是什么?我认为它是可能的,它只是缺乏我的知识,所以任何输入都是值得赞赏的.

php templates phptal template-tal

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

使用TAL,变色龙和金字塔的麻烦重复元素

我真的很难让TAL和Chameleon / Pyramid表现出色。。。

我在Pyramid中有一个视图,该视图返回例如以下内容:

def view(request):
    return {'results' : [ {'name':'alice', 'value':22}, 
                          {'name':'bob', 'value':11},
                          {'name':'charlie', 'value':33} ] }
Run Code Online (Sandbox Code Playgroud)

我有一个包含以下HTML模板:

<!DOCTYPE html>
<html>
<head></head>
<body>
<table>
    <thead>
        <tr>
            <td>Keyword</td>
            <td class="center">Mean Position</td>
        </tr>
    </thead>
    <tbody>
        <tr tal:repeat"row results">
            <td>${row.name}</td>
            <td>${row.value}</td>
        </tr>
    </tbody>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我希望以下内容的HTML输出:

<table>
    <thead>
    <tr class="odd">
        <td>Name</td>
        <td class="centre">Age</td>
    </tr>
    </thead>
    <tbody>
        <tr>
            <td>alice</td>
            <td>22</td>
        </tr>
        <tr>
            <td>bob</td>
            <td>11</td>
        </tr>            
        <tr>
            <td>charlie</td>
            <td>33</td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行此命令时,Pyramid引发错误:

raise ParseError("Unexpected end tag.", token)
ParseError: Unexpected end tag.
- …
Run Code Online (Sandbox Code Playgroud)

python pyramid chameleon template-tal

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

将子域名保存到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
查看次数

标签 统计

template-tal ×4

plone ×2

python ×2

zpt ×2

chameleon ×1

php ×1

phptal ×1

pyramid ×1

subdomain ×1

templates ×1