ファイルシステムにあるメソッドを TAL ポートレット (によって利用可能collective.portlet.tal
) から呼び出すにはどうすればよいですか?
これが私が行った方法です: 新しい BrowserView (createPictMenu.py
私の場合) を定義し、それを新しいポートレット コンポーネントのレンダラーとして登録しました。
class AddressTAL(BrowserView)
def my_address()
address_bar = ViewTemplatePageFile('templates/address_left.pt') # this
is the page template I want for my new portlet.
そしてでconfigure.zcml
:
<plone:portlet
name="collective.portlet.tal.TALPortlet"
interface="collective.portlet.tal.talportlet.ITALPortlet"
assignment="collective.portlet.tal.talportlet.Assignment"
view_permission="zope2.View"
edit_permission="cmf.ManagePortal"
renderer=".browser.createPictMenu.AddressTAL"
addview="collective.portlet.tal.talportlet.AddForm"
editview="collective.portlet.tal.talportlet.EditForm"
/>
次に、localhost:8080/myproject/@@manage-portlets に移動し、TAL Portlet option
[ポートレットの追加] ドロップダウン リストから を選択しました。タイトルを住所として通知し、説明のために以下のスニペットを挿入して呼び出しますaddress_tal()
。
<span tal:define="global li view/myaddress">
<span tal:replace="structure li" />
</span>
残念ながら、うまくいきませんでした。助けてください。