サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
tec.toi-planning.net
これはMovable Type Advent Calendar 2012の3日目の記事です。 Movable Type や プラグインの開発時のデバッグを捗らせる話を書きます。 開発用の MT の起動 開発時には MT を PSGI 版で起動しておくと便利です。サーバにはドキュメントにも書かれているStarmanを利用すると簡単でトラブルが少ないと思います。 starman コマンドからオプションを指定しないで MT を起動している場合は、コードを変更しても自分で再起動するまで反映されないので、開発時には -R オプションを付けて指定したディレクトリ以下のファイルに変更があると自動で再起動されるようにしておくと便利です。 LANG=C starman -R `pwd`/extlib,`pwd`/plugins,`pwd`/addons --pid=/path/to/pidfile mt.p
できること Movable Type の「テンプレートの編集」画面で、MTタグやMTタグのモディファイアを補完できるようにします。 主な特徴は以下の通りです。 補完可能なオブジェクト タグ名 (プラグインやカスタムフィールドで追加されたタグを含みます) モディファイア名 モディファイアに渡す値 変数名 閉じMTタグの補完もできます 書式に制限はありません <mt:Tag /> <MTTag> <$MTTag$> デモ 対応しているMT 5.13 5.2 インストール ダウンロードページから「CodeMirrorComplete-x.xx.zip」をダウンロードします。(x.x.xにはバージョン番号が入ります) ダウンロードしたファイルを展開します。 CodeMirrorComplete-x.x.x/plugins/CodeMirrorComplete を、インストール先のMTに plugi
これはどんな話題か? MTは5.2で公式にPSGI対応になり、Plack や Starman で起動すると CGI よりも目に見えて高速に動作するようになります。ただこういった形で起動をした場合、 実運用の環境で利用するためには MySQL や Apache などと同じように起動し続けるプログラムとしてデーモン化する必要があるのですが、これが少し敷居の高いところかもしれません。 この記事では、比較的少ない設定作業でMTを安定してデーモン化する方法として、CentOS や Ubuntu で利用できる upstart を使うものと、最新の Fedora で利用できる systemd を使うものの2つをご紹介します。 前提 まず最初に、各方法の設定ファイルの中で前提となっている部分の説明をします。 MT のインストール先 サンプルの設定ファイルでは、MTが以下のディレクトリへインストールされてい
作業前の準備 amazon web servicesに登録し、S3 を利用できるように設定します。 公開するドメイン名を用意します。(※1) MTを信頼のできるサーバー(Amazonのアクセスキーを登録する必要があるため)にインストールします。 (※1) Amazon が用意したサブドメインを利用すればドメイン名がなくとも公開はできます。 公開手順 ドメイン名で bucket を作成する Management Consoleに入り、公開するドメイン名で bucket を作成します。(今回は s3site.toi-planning.net を設定します) bucket の設定を変更する 作成した bucket を右クリックして Properties を開き、Website のタブで「Enabled」にチェックを入れ、「Index Document」を「index.html」に設定します。 C
このブログ記事を参照しているブログ一覧: CustomDefaultFields とは このブログ記事に対するトラックバックURL: https://tec.toi-planning.net/mtos/mt-tb.cgi/29 便利なプラグイン、最近いろいろと試させて貰っています。ありがとうございます。 さて、こちらのプラグインで「続き」を非表示にすると、その直後は大丈夫なのですが、後日ログインしてみると、ブログ編集画面のJavaScriptがきかなくなっている感じがしました。 (最初、本文入力フィールドにカーソルが行かないことに気づき、他のプルダウンメニュー等も動かなくなっていて。。で、JavaScriptが動いていない?と感じた次第です。) MTのバージョンは4.22です。 もしかしたら私だけかも、と思いましたが、一応報告しようと思った次第です。 開発のお役に立てれば幸いです。 コメン
MTは4.2からブログ記事の削除時にブログの再構築を行えるようになりましたが、複数のブログを使って構築をしている場合には、やはりいくつかのブログを再構築しなければならなかったり、ダイナミックパブリッシングにしたりなどの対応が必要でした。 このサイトで配布をしているプラグインでもToIUtilで、特定のインデックステンプレートを指定して再構築するような機能があり、それを使うことで指定したインデックステンプレートを再構築できたのですが、テンプレートの数が多いと面倒なところがあったので、MultiBlogの機能を拝借して簡単に設定ができるプラグインを作成しました。 プラグインをインストールすると MultiBlog の「再構築トリガー」で「インデックスを再構築する」にで関連付けたブログで、ブログ記事の削除時にもインデックステンプレートが再構築されます。(設定は特別には必要ありません) ダウンロー
カスタムフィールドによる検索を有効にします。 <input type="hidden" name="CustomFieldsSearch" value="1" /> CustomFieldsSearchClassType 検索対象を指定します。 有効な値 entry 「ブログ記事」の検索を行います。 page 「ウェブページ」の検索を行います。 <input type="hidden" name="CustomFieldsSearchClassType" value="entry" /> CustomFieldsSearchIgnore カスタムフィールドでないカラムを無視する場合に指定します。(タグ名) 有効な値 EntryTitle タイトル EntryBody 本文 EntryMore 続き EntryKeywords キーワード <input type="hidden" name=
バージョン0.4.1 をリリースしました。 0.4からの修正点は以下の通りです。 「全てのブログを再構築」した際に「Closeボタン」でウィンドウが閉じられない不具合を修正しました。 ダウンロードページ
対応しているMT MT5.x MT6.x MT7.x 対応しているブラウザ Chrome Firefox IE Opera Safari インストールと実行 rebuildletのリンクをブックマークとして登録してください。 rebuildlet ブックマークへの登録方法はリンクを右クリックして以下のように設定してください。 Firefox IE インストール完了です。 ブックマークレットを実行してください。
MT5でのテンプレート編集フォーム MT5ではテンプレートの編集フォームにCodeMirrorが採用され、シンタックスハイライトのオンとオフを切り替えることができなくなりました。 ただ、シンタックスハイライトは綺麗でよいのですが、CodeMirrorでは「タブ文字」が認識されなかったり、編集領域が「iframe」になってしまうため「textarea」であることを前提にしたブラウザのプラグインが利用できなかったり、また単純に重いなど、利用の仕方や環境によっては不便な場合もあるようです。 今回はこれを解消する方法を5つ(他のブログで紹介されている方法を2つと独自の方法を3つ)紹介します。 (1) MTのプラグインで無効にする この問題を解決する方法として一番最初に紹介されたものだと思いますが、小粋空間さんが公開されているInvalidateCodeMirror プラグインというものがあります。
できること 1つ1つのアイテムに対してアーカイブファイル(htmlやphp)を生成することができます ブログ記事のアーカイブテンプレートでアーカイブマッピングとして指定することができます 使用例 アップロードされたそれぞれのflvファイルに対してプレイヤーのHTMLを出力する
MT5ではトップページとして「ユーザーダッシュボード」という概念が追加されたのですが、この「ユーザーダッシュボード」についてある人から、「ログイン直後は必ずユーザーダッシュボードが表示されるのですか?」と質問をされて不安になったので、ちょっと調べてみました。 結論としては、MT5では「ログイン直後は必ず...」ということで間違いないようです。 MT4の時にあった「前回のセッションで最後に作業をしていたブログのダッシュボードが表示する」という機能はなくなっていました。 上記のような「ログイン直後は必ずユーザーダッシュボード表示される」という仕様は、利用マニュアルを作る際などはとても便利な仕様だと思います。 ただ一方で、1つのブログにしか権限をもっていないユーザーにとってはログイン時に常に、「ユーザーダッシュボード > 管理するブログのダッシュボード」と進まなければいけないのは面倒で、また「ダ
Kei から QuickRebuild 0.7.4をリリース に対するコメント: 「全てを再構築」のボ Taku AMANO から QuickRebuild 0.6.3をリリース に対するコメント: 現在の最新版のMTで 匿名 から QuickRebuild 0.6.3をリリース に対するコメント: すいません現在MTク Taku AMANO から QuickRebuild 0.7.4をリリース に対するコメント: githubで一時的 tom から QuickRebuild 0.7.4をリリース に対するコメント: githubにアクセ nigari から QuickRebuild 0.7.4をリリース に対するコメント: MTアップデートで使 nigari から QuickRebuild 0.7.4をリリース に対するコメント: MovableTyp Taku AMANO から CKE
MT5の管理画面で、「左側にあるメニュー」と「上部にある新規作成のメニュー」をカスタマイズする方法を紹介します。 カスタマイズの方法 メニューのカスタマイズはプラグインの作成をもって行います。ただ作業の内容はサンプルの config.yaml を書き換えるだけなので、Perl の知識や config.yaml に関する特別な知識は必要ありません。 例1: 特定のメニュー項目を隠す プラグインによるカスタマイズを行なわなくても、ユーザーの権限を減らすことで利用できないメニューは表示されなくなるのですが、デフォルトの設定だと「記事の作成」権限をを与えるだけで、「ブログ記事」の他に「コメント」と「ツール」のメニュー項目も出てきてしまうので、本当にブログ記事だけを書かせたいユーザー向けに、これらのメニューを消してみます。 config.yaml name: MenuSample version:
MT5から追加された「テーマ」の機能ですが、みなさん利用されていますでしょうか。 公式のドキュメントでは以下の要素について設定できると紹介されていて、 テンプレート デザインで利用する、画像などのファイル カテゴリー フォルダ カスタムフィールドの設定 スカイアークさんのブログでは他の要素も設定できる紹介されているのですが、 ページ 今日のコラムではその他に(MT5rc2の段階では)もう1つ設定できるようになっている、 ブログの設定 について紹介します。 ブログの設定を追加する 設定方法は他と同じで簡単で、項目名と値を「theme.yaml」に追加するだけです。 例えばこのような行を「elements:」の下に追加します。 default_prefs: component: ~ importer: default_prefs data: # 拡張子をphpにする file_extensio
CKEditorを使ってブログ記事やウェブページのフィールドを編集可能にします。 「概要」フィールドやカスタムフィールドで作成したフィールドにも適用可能です。 また利用するWYSIWYGエディタの機能も簡単に調整することができます。 記事 2009.11.09: CKEditor for Movable Type とは 2009.11.09: CKEditor for Movable Type の使い方 2009.11.09: CKEditor for Movable Type のスクリーンショット 2010.03.01: CKEditor for Movable Type で利用するタグ 2010.06.12: CKEditor for Movable Type 1.06 をリリース リリース 2012.07.06: CKEditor for Movable Type 1.073 を公開
EnhancedCategory ついカッとなったに便乗してプラグインを書きました。 カテゴリーを必須項目にしたり、特定のカテゴリーを選択できなくしたりできます。 カテゴリーを必須項目に設定する カテゴリーを選択不可能にする ブログ記事編集画面 IfPreview さて話を戻して、Junnama さんのプラグインの IfPreview タグなのですが、調べてみたところプラグインをインストールしなくても、MTのデフォルトの機能で同じ動作をさせることができるようでした。 <mt:If name="preview_template"> <!--「確認」クリックでプレビュー時のみ表示--> </mt:If> この件については Junnama さんとも話をしたのですが、「このくらいなら機能を探すよりも書いた方が早い」(筆者訳)とのこと。らしいお言葉でした。 参考までに書いておきます。
5. 選択可能なスタイルの設定 「mt-static/plugins/CKEditor/style/config.js」を書き換えて設定を変更できます。 6. テンプレートの設定 「mt-static/plugins/CKEditor/template/config.js」を書き換えて設定を変更できます。 7. その他の設定 MTの管理画面から設定を変更する場合は設定画面の「5」から設定を変更できます。 ファイルで設定を行なう場合には「mt-static/plugins/CKEditor/ckeditor/config.js」に設定を記述することができます。 7-1. ブログとテーマの判別 「CKEditorBlogID」「CKEditorBlogThemeID」として、編集中の「ブログのID」と「テーマのID」が変数に設定されるので、これを利用してブログ毎やテーマ毎にエディターの設定を変
できること 「ブログ記事」や「ウェブページ」を編集する際に、WYSIWYGエディタとしてCKEditorを利用できるようにします。 「本文/続き」だけでなく、「概要」やその他カスタムフィールドで追加したフィールドにも適用することができます。 日本語でのWebサイト制作に適した設定がデフォルトとなるように調整をしています。(変更内容) TypePadが配布している絵文字を挿入することができます。 インストール ダウンロードページから「CKEditor-x.x.x.zip」をダウンロードします。(x.x.xにはバージョン番号が入ります) ダウンロードしたファイルを展開します。 CKEditor-x.x.x/plugins/CKEditor を、インストール先のMTに plugins/CKEditor としてアップロードします。 CKEditor-x.x.x/mt-static/plugins/
MT4で便利に使えていたので、MT5バージョンアップに伴い、0.2.1を入れさせていただきました。 現状、本プラグインの編集領域は固定幅となっていますが、最近のパソコンはワイドスクリーンが増えてきていることもあり、編集領域を可変幅に変更したいのですが、設定などで可能でしょうか。 oshimaさん、コメントありがとうございます。 まずは現状の仕様の確認ですが、TinyMCEの幅については編集画面を開いたときのブラウザの幅によって決まるようになっており、編集画面を開いた後には変更ができないようになっています。 ご質問の内容としては、編集画面を開いた後にも変更をできるようにしたい、ということでよろしいでしょうか。そのような内容であれば、設定は以下の手順で行なうことができます。 1. 「システムのプラグイン設定」の画面を開いてください。 2. 「TinyMCE > その他の設定」を「カスタム」に設
藤本さんのブログで「ブログの全ページに最新記事のリストを出力する裏ワザ」という記事があがっていたので、(若干時間がたってしまいましたが)それに追随して、テンプレート内変数をJSON形式で出力する裏ワザ(ドキュメントに載っていないモディファイア)を紹介します。 JSON形式でデータを出力する 「mt:Var」に「to_json="1"」を指定すると、「name」で指定した変数がリスト(function="push"などで入れたもの)やハッシュ(key="foo"などで入れたもの)であった場合に、データをJSON形式で出力することができます。 テンプレート <mt:SetVar name="entries" function="undef" /> <mt:Entries> <mt:SetVar name="e" function="undef" /> <mt:SetHashVar name="
誰を対象とした内容か? 今回の記事はプラグイン開発者を対象とした内容になります。 フィールド追加系プラグインとは? 「ブログ記事」や「カテゴリー」といったオブジェクトにデータの項目を追加して、管理画面から情報を登録したりMTタグで呼び出したりできるようにするプラグインのことです。また今回はその中でも特に機会が多いと思われる、「ブログ記事へのフィールド追加」のケースを説明をします。 ベストプラクティス? MTの変化の流れは表から見える以上に速く、MT3系からMT4系へのインターフェイスも含めた大きな変更があったり、マイナーバージョンアップであるMT4.21からMT4.26までの間にも内部では結構な規模の大きな変更もあったりと、陰に陽に変化をしています。そんな中で、フィールド追加系のプラグインの作成の仕方にも変化が出てきているようなので、現時点(2009年9月)でのもっともスマートと思われる方
今日はMTの管理画面をJavaScriptでカスタマイズするためのハックを紹介します。 何をするか それほど多くあるケースではないと思いますが、時には、はエントリーの状態によって本文欄に書き込みができないようにしたり(入力欄を消したり)本文欄が書けるようにしたり(表示したり)したい場合もあったりするので、それに対応してみます。 標準のMTのブログ記事作成画面だと、本文欄の表示や非表示を切り替える適当なトリガーになりそうな要素があまりないのですが、ここでは例として「タイトル欄に何か入力されている場合に本文欄を表示する」「タイトル欄に何も入力されていない時には本文欄を隠す」ということでやってみようと思います。 動作環境 この記事で紹介している方法はMT4.25とMT5b2で動作の確認をしています。ただMT5からMTの管理画面に取り入れられているjQueryを使っているので、MT5の方がすぐに試
大変有用なプラグインのご提供ありがとうございます。 先日Firefoxを30にアップデートしたところ、QuickRebuildプラグインの動作に不具合が発生しました。どのような条件で動作させても、Rebuildした瞬間にユーザーダッシュボードに戻ってしまう症状が出ます(ポップアップウィンドウ内で)。Rebuild自体も行われません。 Chromeでは問題ないことが確認できています。 可能であれば、確認と対策をお願いできればと思います。 横からですがうちでもFirefoxでエラーになります。 コンソールでは以下のように出力されています。 エラー: TypeError: 'log' called on an object that does not implement interface Console. ソースファイル: http://xxxx/mt.cgi?__mode=rebuild_a
カテゴリーアーカイブ内で任意のエントリーを表示する サイトのサイドバーに常に表示されている新着情報があり、 これをテンプレートモジュールにしているとします。 <mt:Ignore>最新情報のブログのID: 5</mt:Ignore> <ul> <mt:Entries include_blogs="5"> <li><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a> </mt:Entries> </ul> このテンプレートモジュールは、トップページなどのインデックステンプレートに埋め込まれた場合は大丈夫なのですが、カテゴリーアーカイブに埋め込まれた場合はおそらくエントリーは表示されません。mt:Entries はカテゴリーアーカイブ内で使われた場合は、違うブログのを指定したとしてもアーカイブのカテゴリーに属するの記事を表示しようとするから
インストール ダウンロードページからアーカイブをダウンロードします ZIPファイルを解凍して、フォルダごと /wp-content/plugins/ へアップロードしてください。 アドミンのプラグイン管理ページで Custom Fields Permalink を有効にしてください。 アドミンの「設定 > パーマリンク設定」のページで、「カスタム構造」を再度保存してください。 タグ %cfp_a_customfield_name% %cfp_a_customfield_name_or_page_id% %cfp_a_customfield_name_or_pagename% "a_customfield_name" には任意のカスタムフィールドのフィールド名が入ります。 動作例 以下のような「カスタム構造」であった場合 - /%cfp_a_customfield_name% "a_cust
QuickEditとは QuickEditとは、アルファサード有限会社の野田氏がついカっとなって作ったという、ブログ記事の個別ページで編集を行なう(個別ページを編集ページにできる)プラグインです。最初のバージョンではテキストエリア内で編集をするだけのプラグインでしたが、次のバージョンではWYSIWYGエディタ(TinyMCE)にも対応されています。 それに対してどんな拡張をしたのか QuickEditはそれだけで素晴らしいプラグインなのですが、やはりTinyMCE-MTPluginを管理している身からすると、TinyMCEはそちらを使いたいというように考えてしまうところがあり、それでつい、QuickEditでTinyMCE-MTPluginのTinyMCEを使えるように拡張をして、、編集画面のTinyMCEから画像やファイルをアップロードできるようにしてしまいました。 野田氏の厚意によりこ
ブログ記事に期間の情報を関連付けるプラグインです。 定期的なタスクと連携して、ブログ記事を自動で下書きにすることもできます。 記事 2008.09.20: Period とは 2008.09.22: Period の使い方 2008.09.23: Period で利用するタグ リリース 2009.12.23: Period 0.3.2 をリリース 2008.11.06: Period 0.2.0.0 をリリース 2008.09.20: Period 0.1.3 をリリース
MTの各データ(ユーザー、ブログ、エントリー)に、位置情報を関連付けるためのプラグインです。 インターフェイスとしてGoogleMapを利用しています。 MT4.1、および (部分的に)MT3.3に対応しています。 記事 2008.02.07: Locator の使いかた 2008.02.07: Locator で利用するタグ 2008.02.07: Locator のデモ リリース 2009.06.29: Locator 0.5.6 をリリース 2009.05.21: Locator 0.5.5 をリリース 2008.11.04: Locator 0.5.4 をリリース 2008.03.04: Locator 0.3 をリリース 2008.02.14: Locator 0.1 をリリース
次のページ
このページを最初にブックマークしてみませんか?
『Technology on Information - ToI』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く