Home > plugins Archive

plugins Archive

1 of 4

Next Page >

Select Pages:

Custom Editor Button 2でYouTubeのコードを、のスクリーンショット

ちょっとお遊びで、Custom Editor Button 2の追加ボタンとして、YouTubeのリンクを入れると、埋め込みコードになる、というのをやってみました。

ボタンを押すと、プロンプトでURL入力後にテキストエリアに埋め込みコードが入ります。YouTubeが提供するコードとの違いは、「embed要素を入れない」、「ページのURLを入力する」という点です。

プロンプトにURLを入れたあと、コードがテキストエリアに貼られる
ceb_youtube_button-1.gif
リッチテキストで表示
ceb_youtube_button-2.gif

jQuery For MTプラグインをいれてみました

Movable Type 4 の管理画面に jQueryをつかえるようにするための、jQuery For MTプラグインを使ってみることにしました。

MTのアップデートの際にAltTemplateをアップするのを忘れてて動いてないなあ、とか実際にやってまして。プラグインならば、いつもアップデートのときに、旧MTディレクトリからごっそりコピーしてくるのでそういった凡ミスはほぼないってことです。

プラグインは以下からダウンロードできるようです。

以下、Movable Type 4系での話として進めていきたいと思います。

これまで、管理画面でjQueryを使うのに、AltTemplateを使っていました。これを、jQuery For MTに移行する手順は以下のとおりです。

  1. プラグインを入手する
  2. 展開してpluginsフォルダ以下はシステムのplugins以下に、mt-static/plugins以下の「jQueryForMT」をシステムのmt-static/plugins以下にそれぞれアップロードする(ダウンロードページの詳細のとおり)
  3. user.jsに、alt-tmplディレクトリ以下にある、AltTemplateファイル(.tmplのファイルなど)に記載されている、JavaScriptのコードを入れる
  4. 編集後、user.jsをアップする
  5. alt-tmplディレクトリ以下を削除する(他に使用する代替テンプレートがある場合は当該ファイルのみ削除しあとは残しておく)

それと一点だけ気づいた点ですが、jQueryのプラグインなどを利用したいときに、user.jsにプラグインのコードを貼るのもあれなので、動的に.jsファイルを呼び出すようにuser.jsに書くようにしました。AltTemplateでは、<script src='path/to/hogehoge.js'></script>みたいに直接HTMLで書けるわけで、こういったところはAltTemplateとの違いでしょうか。

もっともプラグインのplファイル弄ればなんとかなりそうですけれども(というか、そんなにコテコテにカスタマイズしてどうする、とかなんとか)。

追記:メモです。システムメニューでjQueryを使わないという都合ができた(個人の環境によるものです)ので、plファイルの出力関連のコードに以下のタグに包含するとしました。

  • <mt:unless name="system_overview_nav"></mt:unless>

TemplateShelfプラグインの「All Templates」の選択がワナらしいので

Movale TypeのTemplateShelfプラグインですがAll Templatesを選択時にテンプレートの数が多いと動作が重くなるとのことなので使えないようにする改造とグローバルテンプレートのIDについてです

Movable Type 5で「TemplateShelfプラグイン」が動作できるとの情報がWolaWolaさまにて紹介されています。不具合の修正や改造方法も掲載されていますので参考になります。

ヴァージョンを4.2にしてから動作しなくなったので放置してしまったのですが、4.2以降でも動作するようにヴァージョンアップされていたようですね。さっそく使ってみましたところ4.261においても動作することを確認しました。

さて、「All Templates」を選択した際に動作が重いとのことです(JSON形式のデータの書き出しか読み込みで時間がかかるのか??)。すべてのテンプレートのショートカットを表示させたい場面は滅多にありませんので要らないものは使わなくて済むように以下のように変更してみました。なお以下のカスタマイズはMovable Type 4.261にて確認をおこないました

<option value="" disabled="disabled"><__trans phrase="All Templates"></option>

template_shelf.tmplファイルのoption要素で当該の箇所にdisabled属性を追加して選択できないようにしています。

余談ではありますが、書いておきますとoption要素のdisabled属性がIE6では選択不可にならなかったとおもいます。その前にIE自体でこのプラグインが動かないですので。。(参考:「Template Shelf」プラグインがIE6では動かない? - ElectricBrain Standard)上記はワタくシがやった方法ですから、その部分を削除するなり、コメントにするなりお好みの方法でよろしいかと。

それと、グローバルテンプレート時の振り分け(blog_id=0のパラメタが機能していない件の対処)についてなのですが、実はモーダルボックスでグローバルテンプレートの表示を試してみると(MT4.261の場合です)、コチラのほうはいちおう表示されているんですね、これが。

ソースを見るとどうやらtmpl.idの値が求めているものそのものらしいです。で、問題の箇所は以下のように変更してみました。createRow()関数の箇所でmt:var name="blog_id"の部分をtmpl.blog_idに置き換えます。そういう意味とは違うようでしたら御免なさい。


?__mode=view&amp;_type=template&amp;blog_id='+ tmpl.blog_id + '&id=' + tmpl.id + '">'

改造後はいつもの如しで、MTシステムディレクトリ/plugins/TemplateShelf/tmpl以下にアップロードして管理ページから確認して終了です。これで「むきょー!」の仲間入りですね。

MT:PubSubHubbubプラグインについて

Movable Typeのプラグイン、PubSubHubbubの紹介と導入について書きます。

「PubSubHubbub」って何?といわれてもよくわかってなかったりしますが、RSSの更新情報の反映をRSSリーダーなどでの時差を解消しようとするものです。

説明不足でアレなので、PubSubHubbubについては、以下のページを参考リンクとして示します。

PubSubHubbubプラグイン

PubSubHubbubプラグインは、miyagawa(Tatsuhiko Miyagawa)氏の提供するMovable Type用プラグインです。Movable Type4以降で利用可能のようです。プラグインの入手は以下からダウンロードすることができます。

導入について

ダウンロードしたファイルを解凍し、フォルダごとMTシステムのディレクトリのpluginsディレクトリ内にアップロードします。アップロード後に、プラグインの設定画面にて設定をおこないます。なおプラグインはブログ単位で設定をおこなうようになっています。

以下のキャプチャはMT5.0ベータ1によるものです。

mt_pubsubhubbub-01.gif

設定画面にて、pingを打つ先のURLを入力して、設定を完了します。今のところ、「http://pubsubhubbub.appspot.com/」が利用可能のようです。

設定が済んだら、「最新記事のフィード(feed_recent)」(atom.xml)テンプレートの<link rel="self" ... />以下に<$mt:PubSubHubbubLinks$>を埋め込み、保存・再構築をおこないます。

mt_pubsubhubbub-02.gif

再構築後のフィードのソースを見ると、<link rel="hub" href="..." />というコードが追加されています。 W3C Feed Validation Service で確認すると、Recommendationsとして、「Unregistered link relationship」が指摘されるのですが、御愛嬌ということで。

あとは、記事を更新するのみです。以上です。

MTPaginateプラグインのMTPaginatePreviousPageLink等について

ページ分割を実現する「MTPaginateプラグイン」で、簡易的なページ送りのリンク を作成するテンプレートタグが、MTPaginatePreviousPageLinkとMTPaginateNextPageLinkです

「MTPaginateプラグイン」を使ったページ分割のリンクでは、"1 | 2 | 3..."のような形のリンクのほうが多くつかわれているようですが、単純な「< 前のページ | 次のページ>」といったリンクを生成するテンプレートタグも用意されていて、MTPaginate 1.28の説明ページを参考にしますと、以下のようです。


<MTPaginateIfPreviousPage_>
&lt;&nbsp;<a href="<$MTPaginatePreviousPageLink$>">Previous Page</a>|
</MTPaginateIfPreviousPage_>
<MTPaginateIfNextPage_>
<a href="<$MTPaginateNextPageLink$>">Next Page</a>&nbsp;&gt;
</MTPaginateIfNextPage_>

このページ分割のリンクを、ブロックレヴェル要素におさめたいところなので、以下のようにしてみます。


<p>
<MTPaginateIfPreviousPage_>
&lt;&nbsp;<a href="<$MTPaginatePreviousPageLink$>">Previous Page</a>|
</MTPaginateIfPreviousPage_>
<MTPaginateIfNextPage_>
<a href="<$MTPaginateNextPageLink$>">Next Page</a>&nbsp;&gt;
</MTPaginateIfNextPage_>
</p>

上記の書き方の場合、ページ分割されない状態、例えば、カテゴリアーカイブページで、そのカテゴリに属する記事が少ないようなときに、Pタグの内容が空の状態で出力されてしまうという問題があります。コレをMTIfタグ等を駆使せず解決するのに以下のようにしてみました。


<?php if($paginate_current_page != 'all' && $paginate_num_pages > 1) print "<p>"; ?>
<MTPaginateIfPreviousPage_>
&lt;&nbsp;<a href="<$MTPaginatePreviousPageLink$>">Previous Page</a>|
</MTPaginateIfPreviousPage_>
<MTPaginateIfNextPage_>
<a href="<$MTPaginateNextPageLink$>">Next Page</a>&nbsp;&gt;
</MTPaginateIfNextPage_>
<?php if($paginate_current_page != 'all' && $paginate_num_pages > 1) print "</p>"; ?>

MTPaginateプラグインは使用するページのPHP化を必須としているわけですから、ページに直にPHPのコードを書いてしまっています。

ちなみに、変数paginate_num_pagesはプラグインが出力するPHPのコードから拾ってますので、上記のコードは、MTPaginateブロックタグの開始タグ以降に記述する必要があります。

ざっとみた感じですが、paginate_current_pageは現在のページの番号でallとかlastといった値である場合もあります。このallというのは、?page=allのようにパラメタとして使われたりするものです。

パラメタでallが使われているとき、MTPaginateIfPreviousPage_MTPaginateIfNextPage_共に内容が出力されない処理をおこなうようです。従いまして、paginate_current_pageの値がallでなくかつ、分割されたページが2以上のときに、Pタグを付与といった処理にしました。

paginate_num_pagesは分割されたページ数といったところでしょうか。ページ分割を利用しているページがすべて分割表示となる場合には、 $paginate_num_pages > 1は必要なくなるでしょう。

あと、参考までにですが、majordojo(http://www.majordojo.com/)にて、PHPを使ったシンプルなページ分割を実現するコードが示されています。

RenameLabel Pluginを使って編集画面のラベルを漢字表記にしてみた

エムロジック放課後プロジェクト提供のRenameLabel Pluginは、Movable Typeの編集画面のフィールド名を任意の名称に変更するためのプラグインです。ためしにこれを使って漢字のラベルにしてみました。

プラグインを入手する

プラグインは、エムロジック放課後プロジェクト(エムロジック株式会社)さまの以下のページからダウンロードできます。

説明のHTMLファイル等も同梱されていましたので、導入方法などはそちらを参考にします。

ラベル表記を変更する

プラグインが導入できますと、ブログのプラグイン設定の画面にRenameLabel Pluginが表示されているはずですので、そこから「設定のタブ」を表示させると、設定画面が表示されます。

利用の状況に応じて適切なラベル名を付ける、というのがこのプラグインの本来の目的なのですが、今回は昨今の漢字ブームにあやかって(?)ラベルを漢字にしてみました。漢字訳ですが、かなりテキトーです。漢字訳については、いちおう以下のサイト等を利用しています。#ネタですいません(汗;

スクリーンショットを示します。

rename_fieldlabel_conf.gif

管理画面は以下のようになりました。ちょっとやばいカンジです。

rename_fieldlabel.gif

Click to Enlarge

今回ためした件のラベルとその値の対応は以下のファイルとなってます。訳はコチラのイメージとかによるので、妥当ではないとおもいます。「トラックバック/言及通知」とか。

Download

Index of all entries

Home > plugins Archive

Search

Powered by 暴想 & Dakiny&Digiclo

Feeds
Elsewhere

Action Streams

logo

Mozilla Firefox ブラウザ無料ダウンロード

TypePad AntiSpam

Return to page top