Re: [zope-pt] Como iterar entre os item do publicator

2007-05-14 Por tôpico Jean Rodrigo Ferri
Rafael Rocha escreveu:
 Ola Jean,

Opa Rafael,

 Muito obrigado pela atenção. Eu contornei esse problema de outra forma..
 Criei varias boxes mesmo... MAs de qualkquer forma, gostaria de ver a sua
 solução. Creio que o anexo não veio na última mensagem.
 Ainda em tempo, Obrigado pela sua ferramenta, ela é realmente muito útil.

Está certo, aqui é bem melhor:

http://paste.plone.org/14598

Abraço,

-- 
Jean Ferri


Re: [zope-pt] Como iterar entre os item do publicator

2007-05-10 Por tôpico Rafael Rocha

Ola Jean,

Muito obrigado pela atenção. Eu contornei esse problema de outra forma..
Criei varias boxes mesmo... MAs de qualkquer forma, gostaria de ver a sua
solução. Creio que o anexo não veio na última mensagem.
Ainda em tempo, Obrigado pela sua ferramenta, ela é realmente muito útil.
Abraços,
Rafael

Em 07/05/07, Jean Rodrigo Ferri [EMAIL PROTECTED] escreveu:


  rcr_plone escreveu:
 Pessoal,

Olá Rafael,

 Estou usando o Publicator para trazer cinco noticias em meu site.
 Porem, não quero que as cinco noticias tenham o mesmo tratamento. De
 algumas eu vou querer colocar o título, de outras o título e a
 descrição. Minha dúvida é como fazer uma iteração que percorra os
 items que o publicator me traz com um indice. Achei que isso seria
 facil, mas ainda nao consegui implementar. Já tentei de muitas formas,
 achei que o natural seria:
 div tal:omit-tag= tal:define=box_items python:pb['items[0]']
 Para acessar a primeira noticia... Mas não funcionou. Alguem tem
 alguma luz sobre como devo fazer.

Se o resultado que você tem é uma lista (no caso do publicator uma lista
de dicionários), você pode quebrá-la em vários pedaços para obter a
regra de apresentação que deseja. Veja um exemplo anexo que fiz para um
portlet do novo TcheZope.org.

Abraço,

--
Jean Ferri
 


  Name Title   Box Name [image: Edit]   Name Title Description

 Mais »




Re: [zope-pt] Como iterar entre os item do publicator

2007-05-06 Por tôpico Jean Rodrigo Ferri
rcr_plone escreveu:
 Pessoal,

Olá Rafael,

 Estou usando o Publicator para trazer cinco noticias em meu site.
 Porem, não quero que as cinco noticias tenham o mesmo tratamento. De
 algumas eu vou querer colocar o título, de outras o título e a
 descrição. Minha dúvida é como fazer uma iteração que percorra os
 items que o publicator me traz com um indice. Achei que isso seria
 facil, mas ainda nao consegui implementar. Já tentei de muitas formas,
 achei que o natural seria:
 div tal:omit-tag= tal:define=box_items python:pb['items[0]']
 Para acessar a primeira noticia... Mas não funcionou. Alguem tem
 alguma luz sobre como devo fazer.

Se o resultado que você tem é uma lista (no caso do publicator uma lista 
de dicionários), você pode quebrá-la em vários pedaços para obter a 
regra de apresentação que deseja. Veja um exemplo anexo que fiz para um 
portlet do novo TcheZope.org.

Abraço,

-- 
Jean Ferri






Name
Title








Box Name








Name
Title
Description


















Mais 








Re: [zope-pt] Como iterar entre os item do publicator

2007-04-20 Por tôpico Rafael Rocha

Obrigado a todos pela ajuda,


Continuo com uma pequena dificuldade, talvez por minha falta de conhecimento
de TAL.
Eu consegui por exemplo em um repeat imprimir o iterator:
E brincar com os pares e impares usando uma condition como a do exemplo:

tr tal:condition=repeat/employee/odd style=background-color: gray

Porem, se eu quiser acessar um item com o index de numero 4 por exemplo?

Como faria, estou tentando

tr tal condition=repeat/employee/number(4)

Mas nao esta dando certo...

Alguma dica de como passar esse quatro en ao apenas chamá-lo?

??

[]s

Rafael



Em 18/04/07, José Henrique [EMAIL PROTECTED] escreveu:


  O repeat tem uma série de variáveis que podem auxiliá-lo a obter o
resultado esperado:  São elas:

* index - número da repetição, iniciando por zero.
* number - número da repetição, iniciando por um.
* even - true for even-indexed repetitions (0, 2, 4, ...).
* odd - true para índices de repetições ímpares (1, 3, 5, ...).
* start - true para o início da repetição (indice 0).
* end - true para o final da repetição
* length - tamanho da sequência, equivalente ao número total de
repetições.
* letter - conta repetições com letras  minúsculas: a - z, aa -
az, ba - bz, ..., za - zz, aaa - aaz, e por aí vai.
* Letter - versão maiúscula de letter.

Zénrique.


Em 18/04/07, Joao Paulo Carusi [EMAIL PROTECTED]  escreveu:

 ah vc pode usar odd e even (par e impar)

 ajuda?


 On 4/18/07, Joao Paulo Carusi [EMAIL PROTECTED]  wrote:
 
  Opa Rafael,
 
  eu sinceramente so sei fazer condicoes para o primeiro (start) e
  ultimo (end)...
 
  Abracos,
  JP
 
 
   On 4/18/07, Rafael Rocha [EMAIL PROTECTED]  wrote:
  
 Obrigado pela dica João.
   Mas e seu eu quiser regras diferentes para o segundo e para o
   terceiro por exemplo, como faria? Não tem como ter um iterator marcado por
   um indice?
   []s
   Rafael
  
   Em 18/04/07, Joao Paulo Carusi [EMAIL PROTECTED]  escreveu:
   
   
   
div tal:define=is_first repeat/obj/start
 div tal:condition=is_first
  Primeiro
 /div
 div tal:condition=not:is_first
  outros
 /div
/div
   
   
On 4/18/07, rcr_plone  [EMAIL PROTECTED]  wrote:

   Pessoal,
 Estou usando o Publicator para trazer cinco noticias em meu
 site.
 Porem, não quero que as cinco noticias tenham o mesmo
 tratamento. De
 algumas eu vou querer colocar o título, de outras o título e a
 descrição. Minha dúvida é como fazer uma iteração que percorra
 os
 items que o publicator me traz com um indice. Achei que isso
 seria
 facil, mas ainda nao consegui implementar. Já tentei de muitas
 formas,
 achei que o natural seria:
 div tal:omit-tag= tal:define=box_items
 python:pb['items[0]']
 Para acessar a primeira noticia... Mas não funcionou. Alguem tem
 alguma luz sobre como devo fazer.

 Muito obrigado,
 Rafael

 html metal:use-macro=here/main_template/macros/master

 body metal:fill-slot=main

 div tal:omit-tag= tal:define=box_id string:inicial;
 portal_publicator
 nocall:here/portal_publicator;
 pb
 python:portal_publicator.getPublicationBoxesInfo(box_id);
 isVisible pb/visible;
 tal:condition=python:template.getId()!='parceiro' and
 isVisible
 span tal:content=pb /
 div tal:omit-tag= tal:define=box_items python:pb['items']

 tal: repeat=obj python:box_items

 div tal:define=oddrow repeat/obj/odd;
 item_id obj/Id;
 identificador obj/Identifier;
 item_title obj/Title;
 aqui obj/RelativeURL;
 item_url obj/RelativeContentURL;
 new_window obj/NewWindow;
 item_icon obj/Icon;
 item_modified obj/ModificationDate;
 item_description obj/Description;
 item_date obj/CreationDate;
 tal:condition=python:item_url
 span tal:define=global dateFor obj/CreationDate /

 div class=newsTitle
 a href=
 tal:attributes=href aqui;
 target python:test(new_window,
 '_blank', None); style=font-family: Verdana; font-size:
 100%;
 img tal:attributes=src item_urlbr /
 span tal:content=item_title /
 /abr /br /

 /div

 div class=newsImageContainer
 tal:condition=python:aqui +'/image_mini'
 a href=#
 tal:attributes=href
 string:$item_url/image/image_view_fullscreen
 img tal:attributes=src python:aqui + '/image_mini'
 /a

 /div

 /div

 /tal:
 /div
 /div

 /body
 /html


   
  
 

 



Re: [zope-pt] Como iterar entre os item do publicator

2007-04-18 Por tôpico Joao Paulo Carusi

div tal:define=is_first repeat/obj/start
div tal:condition=is_first
 Primeiro
/div
div tal:condition=not:is_first
 outros
/div
/div

On 4/18/07, rcr_plone [EMAIL PROTECTED] wrote:


  Pessoal,
Estou usando o Publicator para trazer cinco noticias em meu site.
Porem, não quero que as cinco noticias tenham o mesmo tratamento. De
algumas eu vou querer colocar o título, de outras o título e a
descrição. Minha dúvida é como fazer uma iteração que percorra os
items que o publicator me traz com um indice. Achei que isso seria
facil, mas ainda nao consegui implementar. Já tentei de muitas formas,
achei que o natural seria:
div tal:omit-tag= tal:define=box_items python:pb['items[0]']
Para acessar a primeira noticia... Mas não funcionou. Alguem tem
alguma luz sobre como devo fazer.

Muito obrigado,
Rafael

html metal:use-macro=here/main_template/macros/master

body metal:fill-slot=main

div tal:omit-tag= tal:define=box_id string:inicial;
portal_publicator
nocall:here/portal_publicator;
pb
python:portal_publicator.getPublicationBoxesInfo(box_id);
isVisible pb/visible;
tal:condition=python:template.getId()!='parceiro' and isVisible
span tal:content=pb /
div tal:omit-tag= tal:define=box_items python:pb['items']

tal: repeat=obj python:box_items

div tal:define=oddrow repeat/obj/odd;
item_id obj/Id;
identificador obj/Identifier;
item_title obj/Title;
aqui obj/RelativeURL;
item_url obj/RelativeContentURL;
new_window obj/NewWindow;
item_icon obj/Icon;
item_modified obj/ModificationDate;
item_description obj/Description;
item_date obj/CreationDate;
tal:condition=python:item_url
span tal:define=global dateFor obj/CreationDate /

div class=newsTitle
a href=
tal:attributes=href aqui;
target python:test(new_window,
'_blank', None); style=font-family: Verdana; font-size: 100%;
img tal:attributes=src item_urlbr /
span tal:content=item_title /
/abr /br /

/div

div class=newsImageContainer
tal:condition=python:aqui +'/image_mini'
a href=#
tal:attributes=href string:$item_url/image/image_view_fullscreen
img tal:attributes=src python:aqui + '/image_mini'
/a

/div

/div

/tal:
/div
/div

/body
/html

 



Re: [zope-pt] Como iterar entre os item do publicator

2007-04-18 Por tôpico Rafael Rocha

Obrigado pela dica João.
Mas e seu eu quiser regras diferentes para o segundo e para o terceiro por
exemplo, como faria? Não tem como ter um iterator marcado por um indice?
[]s
Rafael

Em 18/04/07, Joao Paulo Carusi [EMAIL PROTECTED] escreveu:




div tal:define=is_first repeat/obj/start
 div tal:condition=is_first
  Primeiro
 /div
 div tal:condition=not:is_first
  outros
 /div
/div


On 4/18/07, rcr_plone [EMAIL PROTECTED] wrote:

   Pessoal,
 Estou usando o Publicator para trazer cinco noticias em meu site.
 Porem, não quero que as cinco noticias tenham o mesmo tratamento. De
 algumas eu vou querer colocar o título, de outras o título e a
 descrição. Minha dúvida é como fazer uma iteração que percorra os
 items que o publicator me traz com um indice. Achei que isso seria
 facil, mas ainda nao consegui implementar. Já tentei de muitas formas,
 achei que o natural seria:
 div tal:omit-tag= tal:define=box_items python:pb['items[0]']
 Para acessar a primeira noticia... Mas não funcionou. Alguem tem
 alguma luz sobre como devo fazer.

 Muito obrigado,
 Rafael

 html metal:use-macro=here/main_template/macros/master

 body metal:fill-slot=main

 div tal:omit-tag= tal:define=box_id string:inicial;
 portal_publicator
 nocall:here/portal_publicator;
 pb
 python:portal_publicator.getPublicationBoxesInfo(box_id);
 isVisible pb/visible;
 tal:condition=python:template.getId()!='parceiro' and isVisible
 span tal:content=pb /
 div tal:omit-tag= tal:define=box_items python:pb['items']

 tal: repeat=obj python:box_items

 div tal:define=oddrow repeat/obj/odd;
 item_id obj/Id;
 identificador obj/Identifier;
 item_title obj/Title;
 aqui obj/RelativeURL;
 item_url obj/RelativeContentURL;
 new_window obj/NewWindow;
 item_icon obj/Icon;
 item_modified obj/ModificationDate;
 item_description obj/Description;
 item_date obj/CreationDate;
 tal:condition=python:item_url
 span tal:define=global dateFor obj/CreationDate /

 div class=newsTitle
 a href=
 tal:attributes=href aqui;
 target python:test(new_window,
 '_blank', None); style=font-family: Verdana; font-size: 100%;
 img tal:attributes=src item_urlbr /
 span tal:content=item_title /
 /abr /br /

 /div

 div class=newsImageContainer
 tal:condition=python:aqui +'/image_mini'
 a href=#
 tal:attributes=href string:$item_url/image/image_view_fullscreen
 img tal:attributes=src python:aqui + '/image_mini'
 /a

 /div

 /div

 /tal:
 /div
 /div

 /body
 /html


 



Re: [zope-pt] Como iterar entre os item do publicator

2007-04-18 Por tôpico Joao Paulo Carusi

Opa Rafael,

eu sinceramente so sei fazer condicoes para o primeiro (start) e ultimo
(end)...

Abracos,
JP


On 4/18/07, Rafael Rocha [EMAIL PROTECTED] wrote:


  Obrigado pela dica João.
Mas e seu eu quiser regras diferentes para o segundo e para o terceiro por
exemplo, como faria? Não tem como ter um iterator marcado por um indice?
[]s
Rafael

Em 18/04/07, Joao Paulo Carusi [EMAIL PROTECTED] escreveu:



 div tal:define=is_first repeat/obj/start
  div tal:condition=is_first
   Primeiro
  /div
  div tal:condition=not:is_first
   outros
  /div
 /div


 On 4/18/07, rcr_plone  [EMAIL PROTECTED] wrote:
 
Pessoal,
  Estou usando o Publicator para trazer cinco noticias em meu site.
  Porem, não quero que as cinco noticias tenham o mesmo tratamento. De
  algumas eu vou querer colocar o título, de outras o título e a
  descrição. Minha dúvida é como fazer uma iteração que percorra os
  items que o publicator me traz com um indice. Achei que isso seria
  facil, mas ainda nao consegui implementar. Já tentei de muitas formas,
  achei que o natural seria:
  div tal:omit-tag= tal:define=box_items python:pb['items[0]']
  Para acessar a primeira noticia... Mas não funcionou. Alguem tem
  alguma luz sobre como devo fazer.
 
  Muito obrigado,
  Rafael
 
  html metal:use-macro=here/main_template/macros/master
 
  body metal:fill-slot=main
 
  div tal:omit-tag= tal:define=box_id string:inicial;
  portal_publicator
  nocall:here/portal_publicator;
  pb
  python:portal_publicator.getPublicationBoxesInfo(box_id);
  isVisible pb/visible;
  tal:condition=python:template.getId()!='parceiro' and isVisible
  span tal:content=pb /
  div tal:omit-tag= tal:define=box_items python:pb['items']
 
  tal: repeat=obj python:box_items
 
  div tal:define=oddrow repeat/obj/odd;
  item_id obj/Id;
  identificador obj/Identifier;
  item_title obj/Title;
  aqui obj/RelativeURL;
  item_url obj/RelativeContentURL;
  new_window obj/NewWindow;
  item_icon obj/Icon;
  item_modified obj/ModificationDate;
  item_description obj/Description;
  item_date obj/CreationDate;
  tal:condition=python:item_url
  span tal:define=global dateFor obj/CreationDate /
 
  div class=newsTitle
  a href=
  tal:attributes=href aqui;
  target python:test(new_window,
  '_blank', None); style=font-family: Verdana; font-size: 100%;
  img tal:attributes=src item_urlbr /
  span tal:content=item_title /
  /abr /br /
 
  /div
 
  div class=newsImageContainer
  tal:condition=python:aqui +'/image_mini'
  a href=#
  tal:attributes=href string:$item_url/image/image_view_fullscreen
  img tal:attributes=src python:aqui + '/image_mini'
  /a
 
  /div
 
  /div
 
  /tal:
  /div
  /div
 
  /body
  /html
 
 





Re: [zope-pt] Como iterar entre os item do publicator

2007-04-18 Por tôpico Joao Paulo Carusi

ah vc pode usar odd e even (par e impar)

ajuda?


On 4/18/07, Joao Paulo Carusi [EMAIL PROTECTED] wrote:


Opa Rafael,

eu sinceramente so sei fazer condicoes para o primeiro (start) e ultimo
(end)...

Abracos,
JP


 On 4/18/07, Rafael Rocha [EMAIL PROTECTED] wrote:

   Obrigado pela dica João.
 Mas e seu eu quiser regras diferentes para o segundo e para o terceiro
 por exemplo, como faria? Não tem como ter um iterator marcado por um indice?
 []s
 Rafael

 Em 18/04/07, Joao Paulo Carusi [EMAIL PROTECTED]  escreveu:
 
 
 
  div tal:define=is_first repeat/obj/start
   div tal:condition=is_first
Primeiro
   /div
   div tal:condition=not:is_first
outros
   /div
  /div
 
 
  On 4/18/07, rcr_plone  [EMAIL PROTECTED]  wrote:
  
 Pessoal,
   Estou usando o Publicator para trazer cinco noticias em meu site.
   Porem, não quero que as cinco noticias tenham o mesmo tratamento. De
   algumas eu vou querer colocar o título, de outras o título e a
   descrição. Minha dúvida é como fazer uma iteração que percorra os
   items que o publicator me traz com um indice. Achei que isso seria
   facil, mas ainda nao consegui implementar. Já tentei de muitas
   formas,
   achei que o natural seria:
   div tal:omit-tag= tal:define=box_items python:pb['items[0]']
   Para acessar a primeira noticia... Mas não funcionou. Alguem tem
   alguma luz sobre como devo fazer.
  
   Muito obrigado,
   Rafael
  
   html metal:use-macro=here/main_template/macros/master
  
   body metal:fill-slot=main
  
   div tal:omit-tag= tal:define=box_id string:inicial;
   portal_publicator
   nocall:here/portal_publicator;
   pb
   python:portal_publicator.getPublicationBoxesInfo(box_id);
   isVisible pb/visible;
   tal:condition=python:template.getId()!='parceiro' and isVisible
   span tal:content=pb /
   div tal:omit-tag= tal:define=box_items python:pb['items']
  
   tal: repeat=obj python:box_items
  
   div tal:define=oddrow repeat/obj/odd;
   item_id obj/Id;
   identificador obj/Identifier;
   item_title obj/Title;
   aqui obj/RelativeURL;
   item_url obj/RelativeContentURL;
   new_window obj/NewWindow;
   item_icon obj/Icon;
   item_modified obj/ModificationDate;
   item_description obj/Description;
   item_date obj/CreationDate;
   tal:condition=python:item_url
   span tal:define=global dateFor obj/CreationDate /
  
   div class=newsTitle
   a href=
   tal:attributes=href aqui;
   target python:test(new_window,
   '_blank', None); style=font-family: Verdana; font-size: 100%;
   img tal:attributes=src item_urlbr /
   span tal:content=item_title /
   /abr /br /
  
   /div
  
   div class=newsImageContainer
   tal:condition=python:aqui +'/image_mini'
   a href=#
   tal:attributes=href string:$item_url/image/image_view_fullscreen
   img tal:attributes=src python:aqui + '/image_mini'
   /a
  
   /div
  
   /div
  
   /tal:
   /div
   /div
  
   /body
   /html
  
  
 
  






Re: [zope-pt] Como iterar entre os item do publicator

2007-04-18 Por tôpico José Henrique

O repeat tem uma série de variáveis que podem auxiliá-lo a obter o resultado
esperado:  São elas:

* index - número da repetição, iniciando por zero.
* number - número da repetição, iniciando por um.
* even - true for even-indexed repetitions (0, 2, 4, ...).
* odd - true para índices de repetições ímpares (1, 3, 5, ...).
* start - true para o início da repetição (indice 0).
* end - true para o final da repetição
* length - tamanho da sequência, equivalente ao número total de repetições.
* letter - conta repetições com letras  minúsculas: a - z, aa - az,
ba - bz, ..., za - zz, aaa - aaz, e por aí vai.
* Letter - versão maiúscula de letter.

Zénrique.

Em 18/04/07, Joao Paulo Carusi [EMAIL PROTECTED] escreveu:


ah vc pode usar odd e even (par e impar)

ajuda?


On 4/18/07, Joao Paulo Carusi [EMAIL PROTECTED] wrote:

 Opa Rafael,

 eu sinceramente so sei fazer condicoes para o primeiro (start) e ultimo
 (end)...

 Abracos,
 JP


  On 4/18/07, Rafael Rocha [EMAIL PROTECTED]  wrote:
 
Obrigado pela dica João.
  Mas e seu eu quiser regras diferentes para o segundo e para o terceiro
  por exemplo, como faria? Não tem como ter um iterator marcado por um indice?
  []s
  Rafael
 
  Em 18/04/07, Joao Paulo Carusi [EMAIL PROTECTED]  escreveu:
  
  
  
   div tal:define=is_first repeat/obj/start
div tal:condition=is_first
 Primeiro
/div
div tal:condition=not:is_first
 outros
/div
   /div
  
  
   On 4/18/07, rcr_plone  [EMAIL PROTECTED]  wrote:
   
  Pessoal,
Estou usando o Publicator para trazer cinco noticias em meu site.
Porem, não quero que as cinco noticias tenham o mesmo tratamento.
De
algumas eu vou querer colocar o título, de outras o título e a
descrição. Minha dúvida é como fazer uma iteração que percorra os
items que o publicator me traz com um indice. Achei que isso seria
facil, mas ainda nao consegui implementar. Já tentei de muitas
formas,
achei que o natural seria:
div tal:omit-tag= tal:define=box_items python:pb['items[0]']
Para acessar a primeira noticia... Mas não funcionou. Alguem tem
alguma luz sobre como devo fazer.
   
Muito obrigado,
Rafael
   
html metal:use-macro=here/main_template/macros/master
   
body metal:fill-slot=main
   
div tal:omit-tag= tal:define=box_id string:inicial;
portal_publicator
nocall:here/portal_publicator;
pb
python:portal_publicator.getPublicationBoxesInfo(box_id);
isVisible pb/visible;
tal:condition=python:template.getId()!='parceiro' and isVisible
   
span tal:content=pb /
div tal:omit-tag= tal:define=box_items python:pb['items']
   
tal: repeat=obj python:box_items
   
div tal:define=oddrow repeat/obj/odd;
item_id obj/Id;
identificador obj/Identifier;
item_title obj/Title;
aqui obj/RelativeURL;
item_url obj/RelativeContentURL;
new_window obj/NewWindow;
item_icon obj/Icon;
item_modified obj/ModificationDate;
item_description obj/Description;
item_date obj/CreationDate;
tal:condition=python:item_url
span tal:define=global dateFor obj/CreationDate /
   
div class=newsTitle
a href=
tal:attributes=href aqui;
target python:test(new_window,
'_blank', None); style=font-family: Verdana; font-size: 100%;
img tal:attributes=src item_urlbr /
span tal:content=item_title /
/abr /br /
   
/div
   
div class=newsImageContainer
tal:condition=python:aqui +'/image_mini'
a href=#
tal:attributes=href
string:$item_url/image/image_view_fullscreen
img tal:attributes=src python:aqui + '/image_mini'
/a
   
/div
   
/div
   
/tal:
/div
/div
   
/body
/html