Skip to content

fabiorizzo.com - PZP Rocks!!!

Sections
Personal tools
You are here: Home Members pablon Exemplo de uso da API do Plone Exemplo 1: Como acessar um objeto de conteúdo a partir de Script Python.
Document Actions

Exemplo de uso da API do Plone

Este é um artigo que trata o acesso a API do Plone. Material traduzido do site: www.ifpeople.net

Exemplo 1: Como acessar um objeto de conteúdo a partir de Script Python.

Antes de tudo, vamos criar um objeto de conteúdo atravez da interface do Plone. Então, nos vamos acessar ele de um script de acordo com os seguintes passos:

  • Adicione uma página (Document) com o id my_document. Este passo é diferente se estamos trabalhando com o Plone 2.11. por que o formulario de adição de pagina requer somente o título da página, neste caso nos podemos escreve My Document (e o id será gerado automáticamente).

  • NA ZMI, navegue através do Plone site e entre em portal_skins/custom. Lá, adicione um script (Script (Python)) com o seguinte conteúdo:

      from Products.CMFCore.utils import getToolByName
    urltool = getToolByName(context, "portal_url")
    portal = urltool.getPortalObject()
    document = getattr(portal, "my_document")
    print document.Title()
    print document.CookedBody()
    return printed

No exemplo anterior, nós podemos ver o uso das funções getToolByName e getattr e dos métodos getPortalObject, Title e CookedBody. Vamos ver um pouco mais a fundo:

  • getToolByName(obj, name, default=[]) Essa função é importada do modulo CMF e retorna a tool correspondente ao name e associado ao obj.

  • getattr(object, name[, default]) É uma função do Zope e retorna o valor do atributo name do object. name (O parametro name tem que ser uma string). Se o objeto não tem atributo name, uma exeção AttributeError será disparada, exceto o terceiro argumento seja setado.

  • hasattr(object, name) E uma função do zope e retorna verdadeiro se o argumento name é o nome de algum atributo de um objeto, e ao contrário retorna valso.

  • getPortalObject(self) É uma método de classe de Products.CMFCore.URLTool.URLTool. Ele retorna um objeto do tipo Portal.

by Pablo Nogueira Oliveira last modified 06/06/2006 15:14

 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: