Criando uma nova visão de pastas no Plone
Este artigo mostra-ra de forma simples como criar uma nova visão/exibição de pastas no Plone
O que iremos fazer?
Quando estivermos logados no nosso portal Zope/Plone e clicarmos em exibição de uma pasta deverá aparecer uma nova visão que criaremos apartir de agora.
Mãos a obra!
Entre na ZMI no local onde guarda seus templates, se você não tem este lugar entre na pasta custom mesmo, http://seu-site.com.br/portal_skins/custom/manage_workspace
Clique no menu de adição, escolha a opção "Page Template" e clique em add.
Digite o nome do seu novo Page Template exemplo visao_legal, e coloque o código abaixo:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal" xmlns:i18n="http://xml.zope.org/namespaces/i18n" lang="en" metal:use-macro="here/main_template/macros/master" i18n:domain="plone"> <body metal:fill-slot="main"> <div metal:use-macro="here/document_actions/macros/document_actions"> Document actions (print, sendto etc) </div> <h1 tal:content="object_title" class="documentFirstHeading"> Title or id </h1> <a href="" class="link-parent" tal:define="parent_url python:here.navigationParent(here, template_id)" tal:condition="parent_url" tal:attributes="href parent_url" i18n:translate="go_to_parent_url"> Up one level </a> <div class="documentDescription" tal:content="here/Description"> description </div> <tal:visao define="filtro python:{'sort_on':'created','sort_order':'descending'}; contentFilter contentFilter|request/contentFilter|filtro|nothing; limit_display limit_display|request/limit_display|nothing; more_url more_url|request/more_url|string:folder_contents; contentsMethod python:test(here.portal_type=='Topic', here.queryCatalog, here.getFolderContents); folderContents folderContents|python:contentsMethod(contentFilter, batch=True); use_view_action site_properties/typesUseViewActionInListings; over_limit python: limit_display and len(folderContents) > limit_display; folderContents python: (over_limit and folderContents[:limit_display]) or folderContents; batch folderContents"> <!-- Navigation --> <div metal:use-macro="here/batch_macros/macros/navigation" /> <div tal:repeat="item folderContents"> <div> <img tal:attributes="src item/getIcon"/> <span tal:content="item/Title">Titulo</span> <div tal:content="item/Description|nothing">Descricao</div> </div> </div> </tal:visao> </body> </html>
Legal mas quando fui em exibição numa pasta que eu tinha aqui não apareceu visão legal por que?
Por que não dissemos a pasta que apartir de agora esse template também corresponde a uma visão, para isso
vá em portal_types escolha o tipo Folder o link é http://seu-site.com.br/portal_types/Folder/manage_workspace procure o campo chamado Available view methods e adicione ao final da lista o nome do seu template no nosso exemplo ele é chamado visao_legal.
Herson Rodrigues <hersonrodrigues@gmail.com>
E então gostou deste artigo então comenta, por favor se copiar mantenha os créditos.