Web2Py

RedBerry

Membro
Bom dia, estou com uma dúvida e dificuldade.
Posso instalar um wysiwyg html editor em web2py?
Como implementar e como utilizar?
Grande abraço!
 
Em Web2py é possível fazer tudo e mais alguma coisa, nem que seja manipulando o core python, mas essa questão em concreto é fácil de implementar. Não tenho é a certeza se percebi a questão: se for para embutir um editor wysiwyg no front-end, para o client poder escrever algo em formulários e formatar (p.e. tipo as caixas de resposta deste fórum, onde estou a responder, com botões com funções básicas para tornar o texto bold ou itálico visualmente p.e.) - se for isso e se bastar uma biblioteca pré-feita em js que já exista, é simples, basta embutir num template conforme instruções da library.

Exemplo, embutindo a library wysiwyg NiceEdit: http://nicedit.com/
Se for para aplicar em todas as páginas basta embutir no views/layout.html (ou a página root com outro nome que usares). Se for numa página individual, podes embutir de várias formas (podes simplesmente injetar no fim do html e funcionará, ou se quiseres que seja carregada no <heada> da página basta usares um block head que aponte para o html root, por exemplo, p.e. isto no começo (o layout default já tem um block head configurado, mas é fácil de criar se usares um layout limpo, podes ver no manual do web2py no capítulo sobre as views):

{{block head}}
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
{{end}}

{{extend 'layout.html'}}
--> Resto da página normalmente etc.

Inicializando o js em todas ou numa das páginas html dessa forma, todos os campos textarea passarão automaticamente a ter funções de edição wysiwyg. Gravar numa db e tratar da sanitation é fácil (por default o web2py trata parcialmente disso automaticamente); se quiseres exibir numa página diretamente sem tratamento, basta usares XML() para desligar a sanitation do html num return dessa textarea que passes à view.

Será isto que precisas?
 
Em Web2py é possível fazer tudo e mais alguma coisa, nem que seja manipulando o core python, mas essa questão em concreto é fácil de implementar. Não tenho é a certeza se percebi a questão: se for para embutir um editor wysiwyg no front-end, para o client poder escrever algo em formulários e formatar (p.e. tipo as caixas de resposta deste fórum, onde estou a responder, com botões com funções básicas para tornar o texto bold ou itálico visualmente p.e.) - se for isso e se bastar uma biblioteca pré-feita em js que já exista, é simples, basta embutir num template conforme instruções da library.

Exemplo, embutindo a library wysiwyg NiceEdit: http://nicedit.com/
Se for para aplicar em todas as páginas basta embutir no views/layout.html (ou a página root com outro nome que usares). Se for numa página individual, podes embutir de várias formas (podes simplesmente injetar no fim do html e funcionará, ou se quiseres que seja carregada no <heada> da página basta usares um block head que aponte para o html root, por exemplo, p.e. isto no começo (o layout default já tem um block head configurado, mas é fácil de criar se usares um layout limpo, podes ver no manual do web2py no capítulo sobre as views):

{{block head}}
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
{{end}}

{{extend 'layout.html'}}
--> Resto da página normalmente etc.

Inicializando o js em todas ou numa das páginas html dessa forma, todos os campos textarea passarão automaticamente a ter funções de edição wysiwyg. Gravar numa db e tratar da sanitation é fácil (por default o web2py trata parcialmente disso automaticamente); se quiseres exibir numa página diretamente sem tratamento, basta usares XML() para desligar a sanitation do html num return dessa textarea que passes à view.

Será isto que precisas?

Sim, era isso, desse jeito é mais simples.
Eu fiz de outra maneira, instalei um plugin, CKEditor, e criei uma tabela na bd.
Muito Obrigado! :)
 
Back
Topo