- 2010-04-27 (火) 22:13
- MovableType


- 本文以外にリッチテキストを使いたい
私自身は一切使わないんですが、リッチテキストエディタが無いと駄目という人は結構いるみたいですね。
それで、そういう人向けにMTの構築すると、内容的にはスタティックなもの(エントリーなどで動的に変化しない内容)は、リッチテキストエディタ(TinyMCEやCKEditor)を使って編集可能なように、わざわざウェブページなどを作成して、その本文部分で編集できるようにした上で、<$MTPageBody$>使って取り出すとかいうのを乱用するようになります。
で、当然といえば当然なんですが、そうして作成したウェブページって、アーカイブマップにしたがって出力される訳です。
そういう無茶な仕様を作っておいて、「出力は要らないから」とか言われても、困ってしまいます。
EntryBlockプラグイン
それで一回、そういう話(Twitter / tomix: 任意のエントリーをトップページとしてインデックスに取 ...)から進んで、カッとなる人がプラグイン作った訳です。
「MT EntryBlockプラグイン。 - Junnama Online」
通常非公開のブログ記事のデータは引っ張れないんだけど、コレだと非公開のまま本文データを拾えるんですよね。EntryIDではなくEntryBasenameで指定するところも使いやすくて、思わず「Well Defined!」と叫びたくなります。
Rebuild Page Filterプラグイン
で、時は流れて(ってそんなに経ってないけど)同じ様な話がまたあって、キゴウラボの小山さんと再びその実装談義になって、小山さん曰く「アーカイブマップ指定で<MTPageIfTagged tag="@hoge" include_private="0"><MTSetVar name="p"
value="1"></MTPageIfTagged><mt:Unless name="p">%-c/%-f</mt:Unless>」とすれば出力はされないけど、もう少しスマートならないかしらという訳で、またあの人が登場するわけです。まぁ、こっちから話し振った訳だけど。
あっという間に出来上がってきたプラグインですが「Configテンプレートがないので作ってブログとかに上げていただいてもいいですよ>どなたか 」という訳だったので、それではとプラグインの設定画面作りました。
特定のタグが付いたウェブページを出力しなくするプラグインです。タグの設定をブログ単位にしたくて、少し修正もしました。おかげで苦労してしまった。
やったのはUI部分のみなので、中身について質問されても答えれませんからあしからず。
ちなみにご本人の弁「一応予備知識として、MTpagesとかentriesとかをtag=hogeで絞るのは条件よってはえらく遅いです。hogeのついたlastnの値に達するまでひたすら全エントリーをループするからです。」との事なので、ご注意ください。
でも本当はそこじゃない
でも本当は、それって違うと思うんですよね。そもそもウェブページを作成しなくてはならないという所がおかしいのだと思うのです。
テンプレートモジュールやウィジェットの編集画面にフォーマットのプルダウン付けませんか?
デフォルトはもちろん、フォーマット「なし」なんだけど、そこを「リッチテキスト」に切り替えると、リッチテキストとして編集できる様にするの・・・
相対リンクのファイル貼った時のプレビューの話とか、MTタグが混ざってるとやばそうとか、いろいろありそうですが、そういうソリューションってあっても良いのではないかと思います。
どうなんだろうな。簡単に作れるんならやってみたいが。
- Newer >: ActionStreamsとFogBugz
- < Older: ファンクションタグをトリミングして「...」付ける
ping a Trackback
- TrackBack URL for this entry.(1)
Comments:(3)
-
said
May 25, 2010 5:23 PM
|
ReplyThis!
はじめまして、MTOS4でこちらの記事のようなことをしたいと思い検索をしてたどり着きました。
宜しければ質問させていただきたいのですが、>わざわざウェブページなどを作成して、その本文部分で編集できるようにした上で、使って取り出すとかいうのを乱用するようになります。
こちらの方法をぜひ試してみたいのですが、どのように導けばよいのかイメージが出来ません。
大変恐れ入りますが詳しくお教えいただけませんでしょうか。edit_entry.tmplを開いてテキストをさしかえたことはあります(見当違いでしたらすみません)。よろしくお願いします。
-
-
replied for
Masahiko Yamada's comment
May 27, 2010 2:12 AM
|
ReplyThis!
Professional Websiteなどで使われてる方法です。
ウェブページにシークレットタグ(@aboutとか)付けておいて、<mt:Pages tag="@about" limit="1"><mt:PageBody></mt:Pages>とやります。-
-
replied for
oscar's comment
May 29, 2010 8:11 PM
|
ReplyThis!
どうもコメントありがとうございます。
挑戦してみます、ありがとうございました!
-
-




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。