Vídeo Tutorial: CakePHP - criando um novo post e integração com TinyMCE

Olá pessoal,

desculpem a demora, mas finalmente consegui fazer mais um vídeo tutorial.

Neste vídeo tutorial, continuaremos com a parte administrativa do blog, agora com a criação de um novo post e a integração do TinyMCE.

Os links usados no blog são:

Using TinyMCE with CakePHP (http://bakery.cakephp.org/articles/view/60) (site com o código do element criado no vídeo tutorial)
TinyMCE (site oficial) (site onde deve-se baixar o TinyMCE usado no vídeo)

Para simplificar, caso você não queira ir a padaria para pegar o código do element, aqui vai ele: :)

PHP:
  1. link("tinymce/jscripts/tiny_mce/tiny_mce.js"));
  2. ?>
  3. <script type="text/javascript" language="javascript">
  4. <?php if($preset = "basic")
  5. {
  6. $options = '
  7. mode : "textareas",
  8. theme : "advanced",
  9. theme_advanced_buttons1 : "bold,italic,underline,separator,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,link,unlink",
  10. theme_advanced_buttons2 : "",
  11. theme_advanced_buttons3 : "",
  12. theme_advanced_toolbar_location : "top",
  13. theme_advanced_toolbar_align : "left",
  14. theme_advanced_path_location : "bottom",
  15. extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
  16. content_css : "/css/'.$this->layout.'.css"
  17. ';
  18. }
  19. ?>
  20.  
  21. tinyMCE.init({<?php echo($options); ?>});
  22. </script>

E para usá-lo:

PHP:
  1. renderElement('tinymce',array('preset' => 'basic')); ?>

Assista agora!

Dúvidas? Comentem!

Abraços, e até a próxima.

15 Comentários »

  1. silici0 said,

    Abril 9, 2007 @ 10:13

    Na empresa é uma boa usar o CakePHP ?

    Eu acho a documentação bem fraca dele. ;/

    Abraços

  2. Tulio Faria said,

    Abril 9, 2007 @ 14:06

    Olá,

    é sim, principalmente pelo ganho de produtividade e reaproveitamento de código.

    A documentação em português é um pouco escassa, mas em inglês consegue-se achar bastante conteúdo interessante (e documentação).

    Abraços,

  3. Danilo Miguel said,

    Abril 9, 2007 @ 20:05

    Olá silici0,

    Eu trabalho com o CakePHP há um bom tempo e desde então tenho desenvolvido grandes projetos utilizando este framework. Um deles, por exemplo, é de uso também do Exército Brasileiro e sempre supriu todas as minhas necessidades e superou sempre todas as expectativas.

    É uma excelente opção para ganho de produtividade!

  4. silici0 said,

    Abril 10, 2007 @ 09:19

    Eu preciso de um tempo para conheçer a fundo o framework, ainda me perco no Design Pattern, apesar de ja ter estudado bastante... Pois como sou o carro chefe aqui, vou precisar manjar bastante para depois implementar e 'ensinar' os outros a usarem...

    Ainda não achei o caminho para isso, minha falta de tempo nos finais de semana tem sido horrivel, instalação de um servidor de testes, controle de arquivos, gerenciador de projetos e por final um framework...

    São os passos que quero usar para implementar soluções e ganho de produtividade/qualidade...

    Obrigado,
    Abraços

  5. Jonathan Santhus said,

    Abril 13, 2007 @ 17:12

    silici0,

    Há muto tempo ouvi falar do CakePHP, mas nunca parei para estudá-lo. Até que O Tulio lançou os dois primeiro videotutoriais...
    Te aconselho a assití-los na seqüencia....
    Eles são muito bons...
    Abraços

  6. Henrique said,

    Maio 1, 2007 @ 01:25

    Também havia lido o artigo sobre como integrar com o TinyMCE, foi um ACHADO!, principalmente para os backends onde formatação com output em HTML é muito comum.

    Você chegou a bolar alguma coisa para integrar o TinyMCE com um upload de arquivos, imagens por exemplo?

    Abraço!

  7. Tulio Faria said,

    Maio 3, 2007 @ 18:30

    Olá Henrique,

    já fiz isso \"na unha\", com o Cake pretendo fazer isso em breve em um projeto meu que irei reescrever usando-o...

    Depois postarei a experiência disso aqui...

    Abraços,

  8. Rafael Brugnollo said,

    Julho 9, 2007 @ 16:47

    cara... aqui não ta funcionando... só de eu "linkar" o jvascript ele fala que tem erro de sintaxe no arquivo tiny_mce.js...

    vc teve esse problema?! valeu!

  9. Rafael Brugnollo said,

    Julho 9, 2007 @ 17:50

    O cake esta adicionando o script no body.. não deveria ser no head?

  10. Tulio Faria said,

    Julho 23, 2007 @ 19:52

    Na verdade como colocamos no element, ele coloca no body mesmo...

    T+

  11. Felix said,

    Julho 26, 2007 @ 05:34

    Fala Túlio!
    Cara, só uma coisa: No element de exemplo que tem no bakery, logo no começo, onde tem "

  12. Felix said,

    Julho 26, 2007 @ 05:36

    Botei aspas e cortou o coment no comecinho. 2ª tentativa:

    No element de exemplo que tem no bakery, logo no começo, onde tem if($preset = 'basic'), seria if($preset == 'basic'). O cara postou a correção num comentário logo abaixo.

    Bom, espero ter ajudado alguém!

    valeu! Ótimo tutorial! Pirei no TinyMCE hauuha.
    abraço!

  13. Tulio Faria said,

    Julho 26, 2007 @ 15:52

    Felix,

    rapaz eu não tinha percebido :)

    Valeu!

  14. Rogério said,

    Março 16, 2008 @ 09:56

    E ai Túlio acompanhei sua video aula que fala sobre o elements TinyMCE,
    parabéns muito boa,
    porém surgiram algumas dúvidas,
    bom seu eu colocar no form a seguinte linha vai colocar a barra em todos os texteareas
    renderElement('tinymce',array('preset' => 'basic')); ?> .
    agora gostaria de saber o q eu faço para colocar a barra TinyMce em um único textearea de um form do dois texteareas?PQ quando coloco a seguinte linha todos os texteareas recebem a aplicação do elemento.
    E se pudesse me dar uma dica de como eu integro o seu exemplo com Ajax. Valeu Túlio té mais.

  15. Rogério said,

    Março 17, 2008 @ 12:12

    E ai Túlio e pessoal ,
    Estou postando novamente pois resolvi isto da seguinte forma,
    coloquei no array que a gente especifica o textearea o seguinte complemento,
    'class'=>'mceNoEditor'
    dessa forma os texteareas que possuirem isso nesse form não receberam a aplicação do element.

    Valeu.

RSS feed for comments on this post · URI do TrackBack

Deixe seu comentário