BLOG
この記事は、「Movable Type Advent Calendar 2012」の6日目の記事です。 みなさま、今日で僕は 36 歳になりました。たくさんのお祝いの言葉をいただき、ありがとうございます。36 歳の 1 年も「Update me, everyday!!」をモットーに日々精進していきたいと思います。 いやー、思い返せば 36 年間色々なことがありました。色々な、本当に色々な、、、あれ...
今夜の Coda2 + Sublime Text 2 特集の「CPI x CSS Nite「After Dark」(5)」に参加するということもあるので、自分で使っている Sublime Text 2 用の MT タグの補完ファイル(スニペット)を公開します。多分、MT5.2 までの全部の MT タグが入っていると思います。 MTML.zip ファイルを展開して、Sublime Text 2 の ...
このブログは、さくらのクラウドを利用しているのですが、先ほど、色々トラブルのあった旧ストレージから新ストレージに変更してみました。この記事は、新サーバーのIPアドレスを打って書いているので、この記事が見えるということは新サーバーということになります。 旧ストレージから新ストレージに変更する際に、Webサーバーの方はメモリを3Gから2Gに落としたので、少しだけスペックダウンです。それ以外はほぼ同じ構...
DATE 2012.10.19
Movable Type でカスタムフィールド foo の値が bar なブログ記事のカテゴリを hoge に一括で変更したい
- MEMBER BLOG
- かたつむりくんのWWW
なんかクイズのようなタイトルですね… 例えば、basename が「birthday_year」(誕生日の年)のカスタムフィールドの値が、1810年代に該当するブログ記事が属するカテゴリのうち、カテゴリIDが120のカテゴリを、一括でカテゴリIDが121のカテゴリに変更したいとき、以下の SQL を実行すれば OK です(妙に具体的w)。 UPDATE `mt_placement`I...
Movable Type で出力されるページって、どうしても空行がいっぱいになっちゃいますよね。でも、空行を少なくするようにテンプレートを組むっていうのは、テンプレートも読みにくくなるし、無駄な労力になってしまいます。 そんなときは、以下のようなタグで、空行を削除したい場所を挟んであげればOKです。 <mt:Unless name="compress" regex_replace="/^\s...
Movable Type のカテゴリ一覧で、カテゴリをまとめて削除したいときってありません? 僕はありました、今。で、いちいちクリックするのは面倒なので、JavaScript コンソールで以下の jQuery を実行すれば OK。確認のダイアログが表示されるので安心です。 jQuery('#root span.delete').each(function(){ jQuery(this).clic...
DATE 2012.10.09
Mac OS X Mountain Lion + VMware Fusion 5 + CentOS 6.3 + Apache + mod_proxy + PSGI + Movable Type 5.2 のローカル環境を構築した
- MEMBER BLOG
- かたつむりくんのWWW
タイトルのままですが、次のような組み合わせのローカル環境を構築しました。 Mac OS X Mountain Lion VMware Fusion 5 CentOS 6.3 Apache mod_proxy PSGI Movable Type 5.2 この環境を構築したときの作業手順を、備忘録として残しておこうと思います。 ※スクリーンショットは乗せるとページの表示が重くなりそうですし、無くても十...
WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2.7」をリリースしました。 get_attachment_object() を the_content() よりも前に書くと、the_content() で何も表示されなくなるバグを修正しました。 なお、the_content() 意外でも同様の状態になる可能性がありますので...
Smarty を知っていれば簡単な話なんですが、自分はまったく分からないのでメモメモ・・・。 EC CUBE で作ったページのフッターのコピーライト(著作権表示)の年数が更新されてなかったので、自動で更新されるようにしました。 data/Smarty/templates/default/footer.tpl このファイルの年数のところを、 <!--{$smarty.now|date_form...
まーしーさんに言われたんで CategoryDepth というプラグインを作ってみました。 tinybeans/mt-plugin-CategoryDepth カテゴリコンテキストでは <$mt:CategoryDepth$> タグを、ブログ記事コンテキストでは <$mt:EntryCategoryDepth$> を使います。 ブログ記事がカテゴリに属していないときは空文字...
2012年8月4日に開催された MTDDC Tokyo 2012 に参加しました。 今回の MTDDC も色々と参考になることが多くて勉強になりました。さらに、今回は LT(Lightning Talk)が15組もいました。それぞれが5分に凝縮されたおもしろい内容で、こちらも勉強になりました。 MTDDC の後のビアガーデンでの懇親会、さらにその後の2次会へも参加し、とても楽しい時間を過ごせました...
ローカル環境で Movable Type のプラグインを開発するとき、いちいちファイルをコピペしないでシンボリックリンクを作ればいいじゃん。
Movablet Type では、プラグインを作って自由に MT タグを拡張することができます。しかし、ちょっとした MT タグを追加するにしても、MT プラグインのお作法にのっとって、config.yaml を書き、決まったディレクトリ構造で色々なファイルを作り、と少々面倒です。 そんな時は、アルファサードさんの Github で公開されている EasyMTML というプラグインを使う...
Path Finder の複数ファイルの一括置換機能をご紹介します。
先日「MT タグを MTML タグに変換する Coda 2 プラグイン」というのを公開してみましたが、あれから少し機能を追加したのでアップしておきます。 追加した機能は以下の通り。 加工処理 MT を mt: に変換(選択した文字列中の MT を mt: に変換) mt: を MT に変換(選択した文字列中の mt: を MT に変換) MT タグを除去(選択した文字列中にあるMTタグを除去) コ...
DATE 2012.07.13
Custom Field GUI Utility 3 の imagefield でアップロードした画像の各要素を取り出す方法
- MEMBER BLOG
- かたつむりくんのWWW
久しぶりに WordPress の記事です。ちょっと聞かれたので記事にしておきます。 Custom Field GUI Utility 3 で、imagefield でアップロードした画像の各要素(アップロード画面で入力できる要素)の取り出し方を紹介します。 なお、「imagefield・filefield の使い方(ver 3.1 以降)」を前提知識とさせていただきます。...
Movable Type の管理画面にログインしたときに最初に表示されるユーザーダッシュボード。そこに、ユーザーが自由に編集できるダッシュボードウィジェットを作ってみました。 ユーザーのタスクリストに、備忘録に、自分のエントリー一覧に、ご自由にお使いください!という感じです。...
例えば、DynamicMTML 適用ファイル内に書いてある PHP で file_get_contents() とかしようとしたときに、うまく取得できなくてハマったことありませんか?(無いか…) これって、自分が思っていたのと実行されている PHP でのパスが違うのが原因だったりします。...
ようやく、App Store の Coda 2 のアップデートが来ましたね。 日本語化もされましたし、クリップ機能周りにバグ(?)があったのか、新機能の複数設置のプレースホルダーが使えなかったり、クリップの新規作成のダイアログが画面の外側に出てしまったりしてすごく困っていましたが、これらは解決されていました。うれしい! ということで、なんとなくですけど、MT タグを MTML タグに変換する Co...
Movable Type でテンプレートを書いているとき、カンマ区切りの文字列があって、これを配列にしてループさせたいってことは多々あるかと思います。 そんな時は、荒木さんの Split プラグイン(小粋空間)を使ったりしますが、プラグインを使えない環境もあるかもしれません。 そこで、今回はプラグインを使わないで、カンマ区切りの文字列を配列のようにループする方法を紹介します。...
今年は、1年間で 100 本のブログ記事を書こうという密かな目標があるのですが、現在の状況をいちいち管理画面でカウントするのが面倒なので、DynamicMTML を使ってリアルタイムで状況を表示させてみます。 これには MTSearchEntries タグを利用します。...
MySQL の文字コードが latin1 の MT4 を、文字コードを utf-8 に変換した上で MT5 に移行する方法です。うまくいくでしょうか(理解が足りない部分もあると思うので、ご指摘ください)。 今回は、MAMP のローカル環境で実験してみたいと思います。...
Mac の代表的な開発環境と言えば MAMP ですね。 MAMP をインストールすると、初めから phpMyAdmin が使えるので、MySQL の作業はついついそれに頼ってしまいがちです。 しかし、サーバーによっては phpMyAdmin がインストールされていない場合もあり、コマンドで作業しないと行けないこともあります。そんな時のために、MAMP の MySQL をコマンドで操作して練習してお...
ふと、MTAppjQuery プラグイン の機能(プラグインにセットされている jQuery プラグインの機能)をリストアップしてみたらこんなにあって、自分でも少し驚いた!...
もう東京では桜がほとんど散ってしまいました。この一瞬の美しさに、人は魅了されるのでしょうか。 さてさて、桜が満開だった4月7日、MTCafe Tokyo に行ってきました(→ MTCafe とは?)。MTCafe はゆるい感じの会なので、この記事もゆるゆると。 1次会は、4人のLTと雑談、2次会はぶらぶらお酒を飲みながら MT の話をつまみにお散歩しながらお花見、3次会は MT の話をつ...
WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2.5」をリリースしました。 ラジオボタンに「must = 1」を設定したときのバグを修正しました。 以下のページからダウンロードしてください。 Downloads - custom-field-gui-utility-3 - Google Project Hosting ...
Movable Type の特定の記事のユーザーを変更する SQL です。 phpMyAdmin を使うのであれば、mt_entry のテーブルを開いた状態で、上のタブメニューの「SQL」で次の SQL を実行すればOKです。この例では、エントリーID = 1136 の記事の著者を ID = 3 に変更しています。 UPDATE `mt_entry` SET `entry_author_id`=3...
入れ子になったカテゴリの階層を調べる方法です。 MTSubCategories タグやカテゴリアーカイブに次のテンプレートを入れればOKです。 <$mt:SetVar name="cat_level" value="0"$><mt:ParentCategories><$mt:SetVar name="cat_level" op="++"$></mt:Par...
今日は平成24年4月13日(金)ということで、JSONの日だとか Twitter で見かけたので Movable Type でもやってみましょう。 DynamicMTML が使える環境で、次のようなインデックステンプレートを作ればOKです! <!DOCTYPE HTML><html lang="ja"><head> <m...
前回に引き続き、今回は AnotherCustomFields プラグインで追加した日付型のフィールドを DynamicMTML に対応させる方法を紹介します。なお、この記事は前回の記事を前提として話を進めます。 まずは藤本さんのところで販売されているマニュアルに沿って、「日付と時刻」型のフィールドを追加してください。 今回は、次のようなのフィールドを EntryFields の config.y...
藤本さんの AnotherCustomFields プラグインの解説書を買いました。 AnotherCustomFields プラグインは、MTOS(オープンソース版の Movable Type)にカスタムフィールドの機能を追加することができるプラグインです。フィールドの追加は、管理画面から行うのではなく config.yaml という設定ファイルを書いてサーバーにアップロードするという手間はあり...
リストや表を出力するときに、交互に odd(奇数)や even(偶数)というクラス名などを付けたいことって結構ありますよね。 それを実現する方法としては、jQuery など JavaScript を使う方法が簡単ですが、Movable Type を使っているなら、できればスタティック・パブリッシングで直接出力しておきたいですよね。 MTLoop などの繰り返しタグの中であれば、<mt:If ...
昨年話題になり、発売以降いまだに売れ続けているっぽい書籍『よくわかるPHPの教科書』(たにぐち まこと 著)を読みました。評判通り、すごく良かったです! PHPって、すごく手軽に動的なWebページが作れるし、人気の CMS なども PHP で作られていることが多いですよね。 そのため、「さあ、PHP でも勉強しようか」という人は、「手軽に何かを作りたい人」が多いのだと思います。作りたい...
MT5.13 にアップグレードしてから、DynamicMTML の MTIfLogin がうまく動かなくなりました。もしそうなったら、mt-config.cgi に以下の記述があるか確認し、無ければ追記してみてください。 CookiePath / 僕はそれで解決しました(アルファサードの抜群のソーシャルサポートのおかげで解決できました。ありがとうございました)。 ただし、この設定は、Cookie ...
当ブログで公開している「MTAppjQuery - Movable Type 5 の管理画面をjQueryでカスタマイズしやすくするプラグイン」について、以下のようなコメントを頂きました。 $.MTAppDebug();で記事一覧画面を見ると下書き保存の記事が赤くハイライトされます。この機能をMTAppDebugなしで実装することは可能でしょうか?とても見やすく便利な機能です。 これを実現するのは...
DATE 2012.02.28
はじめての DynamicMTML #14 - デバイスごとに表示を分ける MTIfUserAgent と MTUserAgent
- MEMBER BLOG
- かたつむりくんのWWW
今回は、サイトにアクセスしてきたユーザーエージェントによって条件分岐する MTIfUserAgent タグと、ユーザーエージェントの情報を出力する MTUserAgent タグを紹介します。...
あなたのユーザーエージェント情報 サンプル <mt:IfUserAgent wants="smartphone"><p>スマートフォン:<$mt:UserAgent raw="1"$></p></mt:IfUserAgent><mt:IfUserAgent wants="keitai"><p>携帯:<$mt:...
WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2.4」をリリースしました。 主に「Custom Field GUI Utilityでeditorが無いときにもメディアアップローダーが使えるようにする | モンキーレンチ」さんの内容を反映させた形になります。 モンキーレンチさん、ありがとうございます! 以下のページからダウン...
PowerCMS 3 のスニペット・カスタムフィールドと MTAppjQuery プラグイン(←この MTAppjQuery のドキュメント、ちょっと古い…)を組み合わせて、個人情報を入力する感じの画面を作ってみました。 HTML 側は全部スニペット・カスタムフィールドで、動的な部分は MTAppjQuery の user.js で管理する感じです。 メールアドレスなどは、...
今回は、MTSearchEntries を使って、指定期間内の記事をリストアップする方法を紹介します。 指定期間を設定する際に、開始日などは PHP の data 関数等を使うと楽に求められます。しかし、今回紹介する方法は、MT のテンプレート内に直接 PHP のコードを書くという MT らしからぬ方法かもしれませんが、時としてそれもメリットの1つになるかもしれません。...
前回の記事「はじめての DynamicMTML #11 - MT タグの中で PHP を実行する」の中で、「DynamicMTML では、テンプレート中の PHP も実行してくれます」と書きましたが、今回はそれについて少し詳しく見ておこうと思います。...
これまで数回にわたって DynamicMTML で提供されているテンプレートタグの使い方を紹介してきました。今回はいったん雰囲気を変えて、MT タグの中で PHP のコードを実行する方法を紹介します。正確には「MT タグを実行する前に PHP を実行する」ということになります。 今回の記事では「クラシックブログ」のテーマを使って解説します。もちろん DynamicMTML が有効な環境というのが前...
表紙の絵につられて思わず買った書籍ですが、すごく良かったです。 僕は、Facebook 関連のイベントに参加するとマーケティング色が強くて、それだけで疲労困ぱいになってしまうようなマーケティング素人ですが、この本は、そんな僕でもすらすら読み進めることができました。 本書は、次の4つの大きなテーマについて、新人ソーシャルメディアマーケター美咲と同僚の拓也が奮闘するというストーリーになっています。 認...
DynamicMTML には、クエリを処理するテンプレートタグがいくつか用意されています。今日は、そのうちの4つ、MTQueryLoop、MTQueryVars、MTSetQueryVars、MTQuery を紹介します。 なお、検索サイトやサイト内検索からの流入の際に、検索されたキーワードを処理する MTReferralKeywords というタグもあります。これについては、前回の記事を参照して...
すごく基本的な内容ですが、たった今自分が必要だったので。 例えば、次のような5つの項目があったとします。 expensedtlname_1,expensedtlcount_1,expensedtlunitmoney_1,expensedtlmoney_1,expensedtlremarks_1 これらは枝番が _1 となっていますが、これを 1 〜 10 まで一気に作りたいという場面に出くわしまし...
Movable Type のカスタムフィールド一覧、テンプレートタグが表示されるようになったのは嬉しいんですけど、人間欲深いもので、今度はまとめてコピーしたくなったりします。 そんなときは、次のコードを Firebug や Chrome の JavaScript コンソールにコピペして実行すればOK。一覧の上に表示されます。 (function($){ var code = []; $('pr...
「はじめての DynamicMTML #08 - MTSearchEntries (4) MTSplitVars を組み合わせて複数ワードのAND検索」の記事で紹介している AND 検索のテンプレートですが、別のところに流用したらうまく動きませんでした。 そのため、最後の出力の前に、一度 MTLoop を回してすべてのキーワードにマッチするものだけを、最終的な出力用のハッシュ変数 result に...
DATE 2012.01.21
はじめての DynamicMTML #09 - MTSearchEntries (5) MTReferralKeywords で検索サイトからの流入に対する関連記事を表示する
- MEMBER BLOG
- かたつむりくんのWWW
今回は、MTReferralKeywords というブロックタグを使い、Google、Yahoo!、bing、MSN、goo で検索してサイトに訪れたユーザーに対して、そのキーワードに関連する記事をリストアップする方法を紹介します。 今回のテンプレートの仕様 検索サイトで検索されたキーワードを含むブログ記事一覧を表示する 検索サイトからの流入のときだけ表示する 現在のブログ内のブログ記事から検索す...
Custom Field GUI Utility の設定ファイルを書き出す「conf.ini ジェネレーター(BETA)」というのを作ってみました。少しは設定ファイルを作るのが楽になるでしょうか。 あまり動作検証してないので適当に使ってみてください! 明日からまた、MT に戻ります。...
WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2」をリリースしました。 主な変更点は以下の通りです。 投稿タイプごとに設定ファイルを変えられるようにしました。 カスタムフィールドのボックス名(「カスタムフィールド」というタイトルバーです)も変更できるようにしました。 オリジナルの必須チェックを廃止し、「exValidati...
シェルスクリプトと cron で自動的にデータベースをバックアップする方法を勉強しました。サーバー初心者です。 サーバーは、CentOS 5.7 です。 参考サイトは「mysqldumpとcronでMySQLを自動バックアップする | Linuxで自宅サーバ構築」です。...
すごく基本的なことですが、どうしてもド忘れしてしまうのでメモしておきます。 まず、ローカルリポジトリに hoge という名前のブランチを追加するときは、 git checkout -b hoge で、このブランチをリモートリポジトリにも追加する場合は、 git push origin hoge となります。 これ以降は、master ブランチにチェックアウトしている状態で、 git pu...
DATE 2012.01.06
はじめての DynamicMTML #08 - MTSearchEntries (4) MTSplitVars を組み合わせて複数ワードのAND検索
- MEMBER BLOG
- かたつむりくんのWWW
前回は MTSearchEntries タグと MTSplitVars タグを使って複数のキーワードを OR 検索する方法を紹介しました。 今回は、AND 検索をする方法を紹介します。なお、前回の OR 検索の記事をお読みいただいている前提で進めます。 今回のテンプレートの仕様 AND 検索以外は、前回の記事と同様です。 検索ワードはキーワード欄にカンマ区切りで指定する 複数のキーワードは AND...
1年間ってあっという間ですね。 昨年は日本が一変してしまった年でした。今年も引き続き、多くの方々にとって、色々なことで大変な1年だと思いますが、まわりの人と協力しあい、この厳しい時代を乗り越えて行ければいいなと思います。皆様のもとに、少しでも多くの幸せが訪れますように、切に願います。 2012年も、かたつむりくんのWWW をよろしくお願いいたします! さて、2011年は、あいかわらず Movabl...