Construindo portais com Plone. Módulo 3 Templates



Documentos relacionados
HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

Internet e Programação Web

Desenvolvedor Web Docente André Luiz Silva de Moraes

Lista de operadores de comparação - > Maior que - < Menor que - <= Menor ou igual a - >= Maior ou igual a - === Igual a -!

Desenvolvimento de Sites com PHP e Mysql Docente André Luiz Silva de Moraes

Programação Web Prof. Wladimir

Scriptlets e Formulários

Criando um script simples

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Apostila de criação de website

Figura 1 - Tela de configuração do Questionário.

Manual de Atualização MATERIAL DE APOIO - KB IMÓVEIS

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

02 - Usando o SiteMaster - Informações importantes

Conteúdo. Introdução ao Sistema Gestor de Conteúdo. Compartilhamento. Parte V Compartilhamento

Trecho retirando do Manual do esocial Versão 1.1

LINGUAGEM DE PROGRAMAÇÃO WEB

Menus Personalizados

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Conteúdo. Curso de Introdução ao Plone. O que é Plone. Parte I Conceitos básicos

Diazo. Módulo 7 Tema Diazo

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Como Utilizar o Escritório Virtual

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS -

EXEMPLO DE COMO FAZER UMA MALA DIRETA

Configurações de Templates no SolidWorks 2011

Portal da Prefeitura de São Paulo SECOM. MANUAL DO WARAM v. 1.5 Secretarias

Manual do Painel Administrativo

Aula 03 - Projeto Java Web

Série ArcGIS Online I. Aprenda em 20. Módulo 4. Configure pop-ups.

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

MANUAL DO ANIMAIL Terti Software

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais

CONSTRUÇÃO DE BLOG COM O BLOGGER

Sistemas para internet e software livre

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Java II. Sérgio Luiz Ruivace Cerqueira

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

PHP Material de aula prof. Toninho (8º Ano)

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados

ALUNES MANUAL DO USUÁRIO. Guia rápido Alunes

WEBDESIGN. Professor: Paulo Trentin Escola CDI de Videira

"Manual de Acesso ao Moodle - Discente" 2014

Curso de Introdução ao Plone. Instrutores Carlos Alberto Alves Meira Erick Gallani

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web

Personalizações do mysuite

MANUAL DE UTILIZAÇÃO DO AMBIENTE VIRTUAL DE APRENDIZAGEM AVA

MANUAL DE UTILIZAÇÃO DO ESPAÇO VIRTUAL DE APRENDIZAGEM EVA

Resumo das funcionalidades

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

2 echo "PHP e outros.";

Manual de Operação do Sistema de Tickets Support Suite

Manual de Utilização do PLONE (Gerenciador de página pessoal)

Instituto Siegen Manual do Professor

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede OSCommerce v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Manual do Usuário. Manual do Usuário - Versão

Validação de formulário : CEP, e CPF

Manual do Usuário Cidadão SIC Serviço de informação ao cidadão

Desenvolvendo Websites com PHP

Guia Site Empresarial

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Programando em PHP. Conceitos Básicos

WorkFlow WEB Caberj v docx. Manual Atendimento Caberj

Introdução à Linguagem

Informática I. Aula 6. Aula 6-12/09/2007 1

Nova Versão CRM Treinamento Agente Comercial

PHP (Seções, Cookies e Banco de Dados)

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

Acessando um Banco de Dados

Sumário INTRODUÇÃO Acesso ao Ambiente do Aluno Ferramentas e Configurações Ver Perfil Modificar Perfil...

Manual de Utilização da Biblioteca VisPublica

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Manual das funcionalidades Webmail AASP

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Manual do usuário. v1.0

Web Design. Prof. Felippe

Banco de Dados Oracle 10g


Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Manual do Blogilo. Mehrdad Momeny Tradução: Marcus Gama

CSS é a abreviatura para Cascading Style Sheets Folhas de Estilo em Cascata

7. Cascading Style Sheets (CSS)

Linguagem de. Aula 06. Profa Cristiane Koehler

MANUAL VTWEB CLIENT URBANO

Sistema de de Bilhetagem Eletrônica MANUAL MÓDULO PDV

IFSC-Programação para a WEB - prof. Herval Daminelli

USANDO O ROUNDCUBE WEBMAIL

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

Roteiro 2: Conceitos de Tags HTML

JSP - ORIENTADO A OBJETOS

COORDENAÇÃO DE ENSINO A DISTÂNCIA - EaD

COMO UTILIZAR O EDITOR DE TEXTO

Clique no botão para iniciar o treinamento TAREFAS CONTRAT OS RELACIO NAMENT CONFIGURAÇÕES. A ideia é usar os próprios ícones do CGW.

Transcrição:

Construindo portais com Plone Módulo 3 Templates

Templates l Quando o Plone vai mostrar uma página, duas perguntas precisam ser respondidas: Ø O que será mostrado? Isto é, quais conteúdos serão buscados do banco de dados? Ø Como será mostrado? l Os templates permitem responder a essas duas perguntas. l São modelos de páginas. Quando aplicados a um ponto do site (um objeto), mostram o que se quer mostrar.

Zope Page Templates (ZPT) l É a linguagem de templates do Zope. l Gera páginas web dinâmicas (através de HTML). l Facilita colaboração entre programadores e designers (separação) l É HTML válido e interage naturalmente com qualquer editor HTML.

Zope Page Templates (ZPT) l PHP, ASP, JSP são linguagens que geram páginas dinâmicas, por que inventar outra? l Nenhuma dessas linguagens leva em consideração o designer web. l Facilita especialização das atribuições (designers em templates e programadores em python). l O fato de gerar HTML válido proporciona a possibilidade da utilização de editores WYSIWYG e desenvolvimento TTW.

Templates >> Exemplo l Criar um objeto do tipo Link chamado Yahoo. l Acessar o template base_view no browser: Ø http://.../yahoo/base_view Ø Isto é, template view está sendo aplicado em obj. l Fazer o mesmo com base_edit. l Acessar http://.../yahoo/base_view/manage. Ø Visualizar o código do template.

Zope Page Templates (ZPT) l É a linguagem de templates do Zope. l Permite inserir comandos e diretivas no código HTML das páginas para torná-las dinâmicas. l Se divide em duas partes: TAL e METAL.

Template Attribute Language (TAL) l Atributos especiais adicionados às tags HTML. l content: Substitui o conteúdo de um elemento. Ø <p tal:content="string:este site">titulo</p> Saída HTML: <p> Este Site </p>

Template Attribute Language (TAL) l replace: Substitui o elemento por completo. Ø <div tal:replace="string:este site">titulo</div> Saída HTML: Este site

Criação de templates pela ZMI l Para criar um template é preciso fazer o seguinte: Ø Abrir a ZMI. Ø Navegar até portal_skins custom. Ø Selecionar Page Template e clicar em Add. Ø Entrar com o ID do template e clicar em Add and Edit. Ø Usar a aba Test para testar.

Templates >> Exercício 1 l Consulte o enunciado do exercício no material.

Templates >> Exercício 2.1 l Consulte o enunciado do exercício no material. l Faça apenas o exercício 2.1

Template Attribute Language (TAL) l condition: Permite que uma condição seja testada a fim de poder exibir ou não o um elemento HTML. Ø <p tal:condition="expressao">teste</p> Saída HTML: Se expressao = True: <p> Teste </p> Se expressao = False: (Nada)

Template Attribute Language (TAL) l define: Define variáveis. Ø <p tal:define="titulo context/title_or_id"> <i tal:content="titulo">título</i> </p> l repeat: Itera em uma lista (loop). Ø <ol tal:repeat="obj objetos"> <li tal:content="obj/title">título</li> </ol>

Templates >> Exercícios 2.2 e 2.3 l Consulte o enunciado do exercício no material. l Faça os exercícios 2.2 e 2.3

Template Attribute Language (TAL) l attributes: Substitui atributos de um elemento. Ø <a href="#" tal:attributes="href context/absolute_url"> Clique aqui </a> Saída HTML: <a href= http://site.com.br/endereco/do/objeto/contexto > Clique aqui </a>

TAL Expressions (TALES) Expressões usadas nos comandos TAL. Exemplo, no comando define: <p tal:define="nome string:luiz > </p> <a href="#" tal:attributes="href context/absolute_url"></a>

TAL Expressions (TALES) l Os principais tipos de TALES são: Ø Path: um caminho até um objeto do site, ou o nome de uma variável: ü minha-pasta/meu-objeto ü Caracteriza-se pelo uso de /. ü <a href="#" tal:attributes="href context/ absolute_url"></a>

TAL Expressions (TALES) l String: um literal String: l string: palavra l <p tal:define="nome string:luiz > </p> l Not: a negação lógica de uma outra expressão: Ø not:expressao Ø <p tal:condition= not:variavel > </p> l Python: um trecho de código Python: Ø python: 1 + 2 Ø <p tal:content= python:1+1 > </p>

TAL Expressions (TALES) l Outras expressões recorrentes: Ø request/url Requisição URL corrente. Ø user/getusername Nome do usuário. Ø container/objectsids Ids do container atual.

TAL Expressions (TALES) l Expressões podem ser combinadas com o operador. Caso a primeira expressão seja falsa ou vazia, a segunda é utilizada: Ø title id Caso comum do uso de é o nothing. Ø <span tal:content= nome nothing ></span>

ZPT Variáveis Internas l Além do nothing temos algumas outras variáveis internas no ZPT: Ø context contexto, o objeto ao qual se aplica o template. Ø request representa a requisisição feita ao servidor. Ø user representa o usuário logado atualmente. Ø E outros menos importantes

Declarações múltiplas de TAL l Pode-se usar várias declarações TAL em uma mesma tag HTML, porém é preciso atentar para: Ø Somente uma declaração de cada tipo. Ø tal:replace e tal:content conflitam. Ø A ordem das declarações não importa, a ordem de execução dos TALES será sempre: q define, condition, repeat, replace/content, attributes.

Declarações em partes de TAL l Algumas tag TAL suportam declarações em bloco. l tal:define e tal:attributes pode ser declarados em várias partes separadas por ;. l Exemplo: Ø <div tal:define= url context/absolute_url; name user/getusername; id user/getid; palavra string: palavra

Structure l tal:replace e tal:content convertem a informação que recebem para texto plano. l É uma palavra reservada que apresenta o conteúdo de uma variável em HTML. l Solução para quando se quer exibir, na página, o conteúdo todo da variável incluindo qualquer tag que possa haver. l Exemplos adiante

Templates >> Exercício 2.4 l Consulte o enunciado do exercício no material.

Templates >> Exercício 2.5 l Consulte o enunciado do exercício no material.

Templates >> Exercício 3 l Consulte o enunciado do exercício no material. l Faça os exercícios 3.1, 3.2 e 3.3

Templates >> Exercício 4 l Consulte o enunciado do exercício no material.

Macro Expansion TAL (METAL) l Permite definir macros, isto é, fragmentos de código HTML e TAL que podem ser reutilizados.

METAL >> Macros l meutemplate.pt l <div metal:define-macro="minhamacro"> <b>bla</b> </div> l Outro template: l <div metal:use-macro= "context/meutemplate/macros/minhamacro"/>

METAL >> Slots l Dentro de uma macro podem ser definidos slots. l São buracos onde o usuário da macro pode inserir um código personalizado: <div metal:define-macro= mostra_nome > <b>meu nome é:</b> <b metal:define-slot= nome >Um nome</b> </div>

METAL >> Slots l Se chamarmos a macro assim: <div metal:use-macro = context/teste/macros/mostra_nome ></div> v Aparecerá: Meu nome é: Um nome

METAL >> Slots l Se chamarmos a macro assim: <div metal:use-macro = context/teste/macros/mostra_nome > <b metal:fill-slot= nome >João</b> </div> v Aparecerá: Meu nome é: João

METAL Slots >> Exercício 5 l Módulo 3 > Exercício 5

METAL Slots >> Exercício 6 l Para criar um novo template já com o layout do portal, basta usar a macro master. l Módulo 3 > Exercício 6

Perguntas?

Scripts Python no Plone

Scripts Python no Plone l l l Scripts Python podem ser criados e invocados separadamente ou por templates. Servem para fazer processamentos simples. - Coisas mais complexas ficam em Produtos e bibliotecas (veremos mais à frente). Como tudo no Plone, são criados como objetos: - Acessar a ZMI. - Adicionar um novo objeto do tipo Script (Python).

Python Scripts >> Exercício 1 Obs: Criar o Script (Python) meuscript5 # Lista de pessoas pessoas = [ 'Antonio Augusto', 'Flavio Andreas', 'Winstom Marsalis', 'Chico Amaral', 'Leo Brauer', ] return pessoas

Python Scripts >> Exercício 2 # Lista de pessoas pessoas = [ 'Antonio Augusto', 'Flavio Andreas', 'Winstom Marsalis', 'Chico Amaral', 'Leo Brauer', ] for pessoa in pessoas: print pessoa return printed

Python Scripts >> Exercício 3 # Lista de pessoas pessoas = [ 'Antonio Augusto', 'Flavio Andreas', 'Winstom Marsalis', 'Chico Amaral', 'Leo Brauer',] dados = { } import random for pessoa in pessoas: # Gera numeros aleatorios randomid = random.randint(1, 10000) randomidade = random.randint(18,50) # Atribui a idade aleatoria e o ID aleatorio para a pessoa da lista dados[pessoa] = { 'idade':randomidade, 'ID':randomID } for pessoa in dados.keys(): print pessoa + ' : ' + str(dados[pessoa]) return printed

Python Scripts >> Exercício 4 Life, the Universe, and Everything A) Reescreva os números da entrada (uma lista). Pare de processar após ler o número 42. Retorne o resultado em uma lista. Ex: entrada = [2,102, 42, 874, 900] -> saida = [2, 102, 42] Obs: usar a entrada acima. B) Fazer com que a lista entrada seja aleatória, gerando 10000 números entre 1 e 100 e colocando em uma lista.

Usando scripts em templates <html metal:use-macro= context/main_template/macros/master"> <div metal:fill-slot="main" tal:define="conteudo context/meu_script"> <p tal:content="conteudo" /> </div> </html>

Exercício 5 l Confira o enunciado do exercício no material

Exercício 6 l l l Podemos interagir com as chamadas portal tools através de Scripts Python. Abordar o ZODB e portal_catalog. Confira o enunciado do exercício no material

Perguntas?