Plone TAL代码,用于从py文件获取值列表到TALPortlet

Plone TAL代码,用于从py文件获取值列表到TALPortlet,plone,Plone,如何将文件系统Python文件中的值列表放入TALPortlet(由collective.Portlet.TAL提供) 我的TAL代码如下所示: <div tal:define="address_view context/@@address_view" > <span tal:define="global li address_view/createPictMenu"> <span tal:re?lace="structure python

如何将文件系统Python文件中的值列表放入TALPortlet(由
collective.Portlet.TAL
提供)

我的TAL代码如下所示:

<div tal:define="address_view context/@@address_view" >
    <span tal:define="global li address_view/createPictMenu">   
      <span tal:re?lace="structure python:li[3]" />
    </span>
</div>


当我试图运行代码时,我得到一个
无效变量名li
错误。正确的语法是什么?

当您使用全局变量时,请在其前面加上
global
,否则TAL将找不到它:

<div tal:define="address_view context/@@address_view" >
    <span tal:define="global li address_view/createPictMenu">   
      <span tal:re?lace="structure python: global li[3]" />
    </span>
</div>

或者,完全不要使用全局:

<div tal:define="address_view context/@@address_view" >
  <span tal:define="li address_view/createPictMenu">   
    <span tal:re?lace="structure python:li[3]" />
   </span>
</div>


您尝试过另一个变量名吗?为什么
li
需要是全局的?正如我已经告诉您的:停止使用collective.portlet.tal。它不会做你想要或期望的事情,只会给你带来很多额外的问题,如果你不使用它,你就不会有这些问题。如果我使用类bdrMenuView(Logoviewlet,BrowserView),谢谢你的重播:意味着我得到了\uuuInit\uuuuuuuuu4,但得到了5个给定的eror。所以我删除了logo viewlet参数意味着它工作了,那么我如何从多参数类中获得值