1

私はcakePhpでTinyMceをセットアップしようとしていますが、ロードしているのはテキストエリアだけです。私はパン屋からこの記事を離れます:

http://bakery.cakephp.org/articles/galitul/2012/04/11/helper_tinymce_for_cakephp_2

ファイルのスペルをチェックしました。webroot/js/tiny_mceとView/Helper/TinymceHelper.phpがあります。レイアウトに何か他のものを追加する必要がありますか?

私のコントローラーには次のものがあります。

public $helpers = array('Html', 'Form', 'Session', 'Tinymce');

私の見解:

<?php echo $this->Tinymce->input('description', array(
     'label' => 'content'),
     array('language' => 'en'
         ),
     'bbcode'
     ); 
?>
4

3 に答える 3

4

上記のヘルパーを取得できなかったので、問題を修正したCakeDC製のこのプラグインを試しました:https ://github.com/CakeDC/TinyMCE

ファイルがapp/pluginディレクトリに抽出されたら、次のようなヘルパーをコントローラーに追加するだけです。

public $helpers = array('TinyMCE.TinyMCE');

/app/config/bootstrap.phpファイルに次を追加しました。

CakePlugin::load('TinyMCE');

...

Configure::write('TinyMCE.configs', array(
'advanced' => array(
    'mode' => 'textareas',
    'theme' => 'advanced',
    'plugins' => 'emotions,spellchecker,advhr,insertdatetime,preview',
    'theme_advanced_buttons1' => 'newdocument,|,bold,italic,underline,|,justifyleft,justifycenter,justifyright,fontselect,fontsizeselect,formatselect',
    'theme_advanced_buttons2' => 'cut,copy,paste,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,|,code,preview,|,forecolor,backcolor',
    'theme_advanced_buttons3' => 'insertdate,inserttime,|,spellchecker,advhr,,removeformat,|,sub,sup,|,charmap,emotions',
    'width' => '700',
    'theme_advanced_toolbar_location' => 'top',
    'theme_advanced_toolbar_align' => 'left',
    'theme_advanced_statusbar_location' => 'bottom',
    'theme_advanced_resizing' => 'true'
    )
  )
);

TinyMCE Webサイトにアクセスして、必要に応じて設定を構成できます。

次に、それを構成し、コントローラーにヘルパーを追加したら、次を追加しました。

$this->TinyMCE->editor('advanced');

これにより、フォームのテキストエリアがTinyMCEエディターに変わり、bootstrap.phpから設定が読み込まれます(ビューにテキストエリア入力を作成する必要があることに注意してください)。

于 2013-03-28T14:53:44.947 に答える
1

CakePHPプロジェクトが依存関係管理のためにComposerのユーザーを作成していて、CakeDC TincyMCEプラグイン( https://github.com/CakeDC/TinyMCE )を含めたい場合は、composer.jsonで次の構成を使用できます。

{
    "require": {
        "cakedc/tiny-mce": "1.2.0"
    },
    "extra": {
        "installer-paths": {
            "app/Plugin/TinyMCE": ["cakedc/tiny-mce"]
        }
    }
}

この場合、CakePHPアプリケーションは/ appにありますが、composer.jsonはルートにあるため、カスタムの「installer-paths」を指定しました。これがないと、プラグインは/ app / Plugin/TinyMCEではなく/Plugin/TinyMCEになります。

于 2014-09-07T21:11:27.323 に答える
0

最初に知っておく必要があるのは、現在、http: //bakery.cakephp.org/articles/galitul/2012/04/11/helper_tinymce_for_cakephp_2で提供されているチュートリアル がTinyMCE3.x用であることです。4.xに合うように与えられたコードを再構築し始めさえしませんでした。さらに、チュートリアルでは、TinyMCE3.xパッケージ内にある高度なテーマを利用します。

CakePHPバージョン2.xとTinyMCEを使用する場合、それはかなりうまくいくはずです:

  1. 公式のTinyMCEWebサイト(http://www.tinymce.com/download/download.php)から3.xパッケージをダウンロードします。
  2. チュートリアルで説明されているように(app / webroot / js /に)jscripts/tiny_mceディレクトリを抽出します
  3. 追加:public $helpers = array('Tinymce');TinyMCEを必要とするすべてのコントローラーに。
  4. チュートリアルのコードを使用して、App / View/Helpersディレクトリ内にTinymceHelper.phpを作成します
  5. add / edit内、またはtinyMCEフィールドを持つファイルに付けた名前は、次のようにフィールドを作成します。$this->Tinymce->input('ModelName.fieldname', $options = array(), $tinyoptions = array(), $preset = null);
    例:
    echo $this->Tinymce->input('StaticPage.description', array('label' => 'Content'),array(), 'full');

これが誰かに役立つことを願っています:-)

于 2014-04-15T12:14:57.607 に答える