Re: [zope-pt] Re: Resposta de Formulário
2008/6/6 vinicius.osiro [EMAIL PROTECTED]: Só uma dúvida, do modo como você explicou, o Page Template iria perder o contexto e a REQUEST ou estes parâmetros são enviados implicitamente? O PT não perde o contexto e nem o request, porque aquela invocacao *nao* resulta em um redirect. O que acontece quando um script invoca um template é que o template é processado e retorna uma string com seu HTML renderizado. Daí o seu script retorna este HTML. Tudo no contexto do mesmo request. [ ]s Luciano
[zope-pt] Re: Resposta de Formulário
A idéia, a princípio, era tentar algo para facilitar a construção de resposta. Para não ter uma construção complicada do tipo: return html body sua resposta é: %s /body/html%resp Pensei que seria possível alguma sintaxe para embutir no html o script python da mesma forma que se pode fazer com java ou php. Este era o espírito da pergunta. Fiz, sem embassamento algum, testes. Nada aconteceu Acho que não é possível outro tipo de sintaxe no zope que não seja o descrito acima EdgardCosta
Re: [zope-pt] Re: Resposta de Formulário
2008/6/6 Edgard Costa [EMAIL PROTECTED]: A idéia, a princípio, era tentar algo para facilitar a construção de resposta. Para não ter uma construção complicada do tipo: return html body sua resposta é: %s /body/html%resp Pensei que seria possível alguma sintaxe para embutir no html o script python da mesma forma que se pode fazer com java ou php. Este era o espírito da pergunta. Fiz, sem embassamento algum, testes. Nada aconteceu Acho que não é possível outro tipo de sintaxe no zope que não seja o descrito acima EdgardCosta Claro que é possível retornar código HTML a partir de um script python. Mas para que fazer isso quando você tem page templates (ZPT) para separar a apresentação da lógica? E se houver algo mais complicado, a dupla ZPT e script python é mais do que suficiente. Você também pode usar DTML para uma abordagem mais próxima ao PHP. Hoje não há muito incentivo para uso dessa ferramenta para a geração de código HTML, mas ela ainda conta com vários fãs espalhados pelo mundo. Zénrique.
[zope-pt] Re: Resposta de Formulário
Edgard, Não sei se entendi completamente seu problema, mas acho que você pode resolver isso da seguinte forma: O Python Script seta a resposta na request, e faz o seguinte retorno, exemplo: request.set( 'resp', 'aqui vai a resposta' ) return resposta( client=context, REQUEST=request ) Onde resposta pode ser algum DTML Method ou Page Template. Por fim, neste objeto resposta você faz a construção do HTML e imprime a variável resp que está na request. Att, Vinícius Osiro --- Em zope-pt@yahoogrupos.com.br, Edgard Costa [EMAIL PROTECTED] escreveu A idéia, a princípio, era tentar algo para facilitar a construção de resposta. Para não ter uma construção complicada do tipo: return html body sua resposta é: %s /body/html%resp Pensei que seria possível alguma sintaxe para embutir no html o script python da mesma forma que se pode fazer com java ou php. Este era o espírito da pergunta. Fiz, sem embassamento algum, testes. Nada aconteceu Acho que não é possível outro tipo de sintaxe no zope que não seja o descrito acima EdgardCosta
[zope-pt] Re: Resposta de Formulário
Opa Vinicius Uma Luz Obrigado
Re: [zope-pt] Re: Resposta de Formulário
2008/6/6 vinicius.osiro [EMAIL PROTECTED]: O Python Script seta a resposta na request, e faz o seguinte retorno, exemplo: request.set( 'resp', 'aqui vai a resposta' ) return resposta( client=context, REQUEST=request ) Onde resposta pode ser algum DTML Method ou Page Template. Por fim, neste objeto resposta você faz a construção do HTML e imprime a variável resp que está na request. Se a resposta é um Page Template, existe um jeito melhor do que setar variáveis no request, que é passar parâmetros nomeados. A ultima linha do script fica assim: return resposta(mensagem=Eis a mensagem) E no template você escreve algo assim: p tal:content=options/mensagem / A vantagem de usar parâmetros nomeados é evitar o abuso de variáveis do request, pois como o request é um objeto global, usa-lo desnecessariamente é tão ruim quanto usar variáveis globais: pode gerar bugs difíceis de tratar quando diferentes componentes alteram o valor global de forma descontrolada. [ ]s Luciano
[zope-pt] Re: Resposta de Formulário
Olá Luciano, Só uma dúvida, do modo como você explicou, o Page Template iria perder o contexto e a REQUEST ou estes parâmetros são enviados implicitamente? Na verdade, eu citei o exemplo de setar na request, porque achava que se passar por parâmetros nomeados eu perderia o contexto e não poderia fazer chamadas a outros objetos caso precisasse. Att, Vinícius Osiro --- Em zope-pt@yahoogrupos.com.br, Luciano Ramalho [EMAIL PROTECTED] escreveu 2008/6/6 vinicius.osiro [EMAIL PROTECTED]: O Python Script seta a resposta na request, e faz o seguinte retorno, exemplo: request.set( 'resp', 'aqui vai a resposta' ) return resposta( client=context, REQUEST=request ) Onde resposta pode ser algum DTML Method ou Page Template. Por fim, neste objeto resposta você faz a construção do HTML e imprime a variável resp que está na request. Se a resposta é um Page Template, existe um jeito melhor do que setar variáveis no request, que é passar parâmetros nomeados. A ultima linha do script fica assim: return resposta(mensagem=Eis a mensagem) E no template você escreve algo assim: p tal:content=options/mensagem / A vantagem de usar parâmetros nomeados é evitar o abuso de variáveis do request, pois como o request é um objeto global, usa-lo desnecessariamente é tão ruim quanto usar variáveis globais: pode gerar bugs difíceis de tratar quando diferentes componentes alteram o valor global de forma descontrolada. [ ]s Luciano