Re: 記事ブロックで、phpのコードを紹介するためのTinyMCEの具体的変更方法
kohki様
ご回答ありがとうございます。
カスタムテンプレートを利用する方法なんですね。
思いつきませんでした。
できない時はこれで実装してみます。
ありがとうございます。
しかしながら、タイトルにも記載しています通り、
「TinyMCEでの変更方法」について質問させていただいています。
私の質問に、リンクを記載しておりますが、
意図が伝わらず、申し訳ございませんでした。
エスケープしたコードは何もしなくても記事ブロックに記載できました。
問題は、「再度編集したとき」です。
katz515さんの投稿ですが、
一部引用しますね。
http://concrete5-japan.org/community/forums/usage/post-10328/
記事ブロックの TinyMCE で自動整形を無効にするオプション
----------引用ここから----------
どこかのブログで書かれていたんですが、覚えていらっしゃる方。
concrete5.6.x 系で、TinyMCE には普段、自動整形の JS が走っているのですが、それを無効化するオプションってなんでしたっけ?
コードを紹介するときに、毎回コード部分が削除されちゃうので・・・(苦笑)
Syntax Highlighter など、コードを表示するブロックはあるのですが、それではなく、あくまでも記事ブロック内のみで完結させたいと思っています。
(途中略)
早速、隊長、杉山さんより情報が
http://silver.thyme.jp/freotips/view/14
http://www.tinymce.com/wiki.php/Configuration3x:cleanup
後者のドキュメントの
tinyMCE.init({
...
cleanup : true
});
が、まさに探していた設定でした。でもこれは自動整形ONの設定です。
なので、おそらく、記事ブロックエディタ設定のカスタムで、上記の設定を変えて「cleanup : false」の1行を追加すればいいのではと思います。
時間ができた時に試してみます。
ありがとうございます!
----------引用ここまで----------
●これを受けて、私の質問ですが、
TinyMCEへのオプションを、tinymce.php (/helpersフォルダに置いてます)に
// Common options に 以下追加
’cleanup’ => false,
追加してみましたが、
コードをそのまま表示することはできませんでした。
お手数ですが、具体的な設定方法を教えてください。
と質問させていただきました。
よろしくお願いします。
Re: Re: 記事ブロックで、phpのコードを紹介するためのTinyMCEの具体的変更方法
ご回答ありがとうございます。
ご指摘の通り、本来の方法ではないですね。
TinyMCEについて調査&トライしてみましたが、
コード本体か、プラグインに変換を持っているようです。
(詳しくは調査できませんでした。)
ですので、ご提案いただいたカスタムテンプレートで実態参照にするか、
あるいは、別の方法(単に編集手順)ですが、以下で対処しようと思います。
理由は、コード中にハイライトしたりと、なんらかの編集がつきまとうからです。
(手順)
1)編集のみ、通常どおり行い、完了後、[HTML]コード表示ボタンでコード箇所を一旦、
ローカルのテキストファイルとして保存しておきます。
2)万一編集が必要になった場合は、このファイルから、再度記事ブロック(TinyMCE)の[HTML]から流し込み、編集を行いまたコードをローカルに保存します。
少し手間な方法ですが、この方法で対応しようと思います。
※もしこのローカルファイルがなかった場合、データベースから直接コード部分をコピーしてきて、同様の手順で対応しようと思います。
いろいろご対応いただきありがとうございます。
しかたこうき
Re: 記事ブロックで、phpのコードを紹介するためのTinyMCEの具体的変更方法
その上で、記事ブロックはご希望の用途とそぐわないのでは、と述べております。
ひとつお詫びしないといけないのは、Syntax Highlighterですが、私は有料アドオンかと思っておりました。ですので、標準ブロックでなんとか出来ないかやり方を考えてみた次第です。(今調べたら、無料でしたね。)
で、話は戻りますが、やはり記事ブロックにPHPコードを無加工で貼る、というのは難しいと思います。何らかの形で、PHPの開始と終了の山括弧をエンティティできればいいのですが…
ちょっと、今の段階では私には思いつかないです。お役に立てずすみませんが。
他の方の回答をお待ちください。