zenfra 0 Denunciar post Postado Novembro 27, 2009 Boa noite.. Alguém já utilizou o cakePHP com o FCKEditor ... ? Estou tentando implementar ele, mas fica dando erro! Coloquei na minha view o código conforme exemplo de integração abaixo: <?php print $javascript->link('fckeditor'); ?> <div class="required"> <?php echo $form->labelTag( 'Comment/body', 'Body' );?> <?php echo $html->textarea('Comment/body', array('cols' => '60', 'rows' => '10'));?> <?php echo $fck->load('Comment/body'); ?> <?php echo $html->tagErrorMsg('Comment/body', 'Please enter the Body.');?> </div> Criei o arquivo helper e salvei em app/views/helpers também conforme manda o exemplo de integração: <?php class FckHelper extends Helper { function load($id, $toolbar = 'Default') { foreach (explode('/', $id) as $v) { $did .= ucfirst($v); } return <<<FCK_CODE <script type="text/javascript"> fckLoader_$did = function () { var bFCKeditor_$did = new FCKeditor('$did'); bFCKeditor_$did.BasePath = 'js/'; bFCKeditor_$did.ToolbarSet = '$toolbar'; bFCKeditor_$did.ReplaceTextarea(); } fckLoader_$did(); </script> FCK_CODE; } } ?> Atualize o arquivo .htaccess adicionando as linha solicitadas: AddType application/x-javascript .js AddType text/css .cs Que ficou assim depois da atualização: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] AddType application/x-javascript .js AddType text/css .css </IfModule> Atualizei o arquivo config.php existente no caminho app/webroot/js/editor/filemaneger/connectors/php alterando as linhas abaixo conforme pedido: $Config['Enabled'] = true; $Config['UserFilesPath'] = '/app/webroot/files/'; Mas quando acesso a pagina que deveria exibir o editor, ele exibi os seguintes erros Warning (512): Método FormHelper::labelTag não existe [CORE\cake\libs\view\helper.php, line 143] Warning (512): Método HtmlHelper::textarea não existe [CORE\cake\libs\view\helper.php, line 143] Notice (8): Undefined variable: did [APP\views\helpers\fck.php, line 6] Warning (512): Método HtmlHelper::tagErrorMsg não existe [CORE\cake\libs\view\helper.php, line 143] ... E um alert: Error: The TEXTAREA with id or name set to CommentBody was not found Alguém já configurou isso? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
zenfra 0 Denunciar post Postado Novembro 27, 2009 Já segui esses links rs Mas nada Renan Lima Robin Thomas Mas nenhum funciona! Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Novembro 27, 2009 Hmm, tente este: http://bakery.cakephp.org/articles/view/ckeditor-3-x-new-fckeditor-version Esse que você esta tentando está com um código um tanto obsoleto :P Compartilhar este post Link para o post Compartilhar em outros sites
zenfra 0 Denunciar post Postado Novembro 27, 2009 Cara tentei esse e não funciona.. não acontece nada rs Peguei o código abaixo e coloquei na pasta views/helpers com o nome fck.php <?php class FckHelper extends Helper { var $helpers = Array('Html', 'Javascript'); function load($id) { $did = ''; foreach (explode('.', $id) as $v) { $did .= ucfirst($v); } $code = "CKEDITOR.replace( '".$did."' );"; return $this->Javascript->codeBlock($code); } } ?> E adicionei esse código na view do controller que eu quero que aparece o editor: <?php echo $javascript->link('ckeditor/ckeditor', NULL, false); echo $form->create('Usuariotipos', array('action' => 'add')); echo $form->input('ds_descricao', array('cols' => '60', 'rows' => '3')); echo $fck->load('Usuariotipos.ds_descricao'); echo $form->input('id', array('type'=>'hidden')); echo $form->end('Save Post'); ?> MAs nada acontece.. rs Só aparece o textarea Eu acho que ele não esta carregando o js direito.. o html gerado é o que se encontra abaixo: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>opa</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="/cakestudo/css/estrutura.css" /> <link rel="stylesheet" type="text/css" href="/cakestudo/css/formulario.css" /> <script type="text/javascript" src="/cakestudo/js/ckeditor.js"></script> </head> <body> <div id="DivGeral"> <div id="DivTopo"> <div id="DivTopoTopo"> <ul> <li>[ Modo 800 x 600 ]</li> <li>[ Aumentar fonte A+ | A- ]</li> <li>[ Efetuar logon ] </li> </ul> </div> <div id="DivTopoCentro"> <div id="DivTopoCentroTopo"> São Paulo, 20 de Novembro de 2009 </div> <img src="/cakestudo/img/logo.jpg" alt="Franze Sobre Tecnolofia" /> </div> <div id="DivTopoBase"></div> </div> <div id="DivCentro"> <div id="DivCentroTopo"> <p>Você esta em </p> </div> <div id="DivCentroEsquerda"></div> <div id="DivCentroDireita"> <form id="UsuariotipoAddForm" method="post" action="/cakestudo/usuariotipos/add"><fieldset style="display:none;"><input type="hidden" name="_method" value="POST" /></fieldset><div class="input text"><label for="UsuariotipoDsDescricao">Ds Descricao</label><textarea name="data[Usuariotipo][ds_descricao]" cols="60" rows="3" maxlength="100" id="UsuariotipoDsDescricao" ></textarea></div><script type="text/javascript"> //<![CDATA[ CKEDITOR.replace( 'UsuariotipoDsDescricao' ); //]]> </script><input type="hidden" name="data[Usuariotipo][id]" value="" id="UsuariotipoId" /><div class="submit"><input type="submit" value="Save Post" /></div></form> </div> </div> <div id="DivFooter"> </div> </div> </div> </div><!-- É aqui que eu quero que minhas views apareçam --> <!-- Adicione um rodapé para cada página mostrada --> <div id="footer">...</div> </body> </html><!-- 1.7952s --><table class="cake-sql-log" id="cakeSqlLog_12593660564b1066a8c2ddb6_33563546" summary="Cake SQL Log" cellspacing="0" border = "0"> <caption>(default) 1 query took 3 ms</caption> <thead> <tr><th>Nr</th><th>Query</th><th>Error</th><th>Affected</th><th>Num. rows</th><th>Took (ms)</th></tr> </thead> <tbody> <tr><td>1</td><td>DESCRIBE `usuariotipos`</td><td></td><td style = "text-align: right">9</td><td style = "text-align: right">9</td><td style = "text-align: right">3</td></tr> </tbody></table> Se eu clico no link para ver o js <script type="text/javascript" src="/cakestudo/js/ckeditor.js"></script> Ele pede para criar um controller Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Novembro 28, 2009 Mas você linkou o helper ao controller? var $helpers = array('Fkc'); E cheque se webroot/js/ckeditor.js existe. Compartilhar este post Link para o post Compartilhar em outros sites
zenfra 0 Denunciar post Postado Novembro 28, 2009 Bom pessoal, A ultima dica do lucas deu certo rs Eu é que estava esquecendo de passar o caminho direito na chamada do link para o javascript na view. Anteriormente estava chamando assim: echo $javascript->link('ckeditor', NULL , false); Sendo o correto assim para o nível de pasta onde se encontra o arquivo ckeditor.js echo $javascript->link('ckeditor/ckeditor', NULL , false); Abraços Compartilhar este post Link para o post Compartilhar em outros sites