はじめての DynamicMTML #10 - クエリを処理する4つのテンプレートタグ

DynamicMTML には、クエリを処理するテンプレートタグがいくつか用意されています。今日は、そのうちの4つ、MTQueryLoop、MTQueryVars、MTSetQueryVars、MTQuery を紹介します。

なお、検索サイトやサイト内検索からの流入の際に、検索されたキーワードを処理する MTReferralKeywords というタグもあります。これについては、前回の記事を参照してください。

続きを読む

JavaScript で連番の文字列を簡単に作る

すごく基本的な内容ですが、たった今自分が必要だったので。

例えば、次のような5つの項目があったとします。

expensedtlname_1,expensedtlcount_1,expensedtlunitmoney_1,expensedtlmoney_1,expensedtlremarks_1

これらは枝番が _1 となっていますが、これを 1 〜 10 まで一気に作りたいという場面に出くわしました(まあ、10個くらいなら手作業でも…)。

そんなときは、次のコードを Firebug や Chrome の JavaScript コンソールにコピペして実行すれば一瞬で終わります。

var str = 'expensedtlname_*,expensedtlcount_*,expensedtlunitmoney_*,expensedtlmoney_*,expensedtlremarks_*';
var snippet = [], from = 1, to = 10, glue = ",";
for (var n = to + 1; from < n; from ++) {
    snippet.push(str.replace(/\*/g, from));
}
console.log(snippet.join(glue));

続きを読む

Movable Type のカスタムフィールド一覧ですべてのテンプレートタグをまとめてコピーしたい

Movable Type のカスタムフィールド一覧、テンプレートタグが表示されるようになったのは嬉しいんですけど、人間欲深いもので、今度はまとめてコピーしたくなったりします。

cflist

そんなときは、次のコードを Firebug や Chrome の JavaScript コンソールにコピペして実行すればOK。一覧の上に表示されます。

(function($){
var code = [];
$('pre.code').each(function(){
code.push($(this).text());
});
for (var i=0,n=code.length;i<n;i++){
code[i]=code[i].replace(/^[^<]+/m,'')
.replace(/\n/g,'')
.replace(/<([^\/>]+)\s\/>/,'<$$$1$>')
.replace(/</g,'&lt;')
.replace(/>/g,'&gt;');
}
$('#actions-bar-top').before('<div class="msg msg-success" style="line-height:1.5;"><pre>'+ code.join("\n") +'</pre></div>');
})(jQuery);

cflist_tags

あとは zen-coding とがでマークアップよろしくということで。あぁ、ラクダ。

AND 検索のテンプレートを修正しました

はじめての DynamicMTML #08 - MTSearchEntries (4) MTSplitVars を組み合わせて複数ワードのAND検索」の記事で紹介している AND 検索のテンプレートですが、別のところに流用したらうまく動きませんでした。

そのため、最後の出力の前に、一度 MTLoop を回してすべてのキーワードにマッチするものだけを、最終的な出力用のハッシュ変数 result にセットする方法に変更しました。

なお、このブログ記事の修正の際には、PowerCMSのワークフローリビジョンの機能を使いました。便利すぎてヤバいですw

はじめての DynamicMTML #09 - MTSearchEntries (5) MTReferralKeywords で検索サイトからの流入に対する関連記事を表示する

今回は、MTReferralKeywords というブロックタグを使い、Google、Yahoo!、bing、MSN、goo で検索してサイトに訪れたユーザーに対して、そのキーワードに関連する記事をリストアップする方法を紹介します。

今回のテンプレートの仕様

  • 検索サイトで検索されたキーワードを含むブログ記事一覧を表示する
  • 検索サイトからの流入のときだけ表示する
  • 現在のブログ内のブログ記事から検索する
  • 最新5件を表示する
  • 現在のブログ記事を除く

続きを読む

Custom Field GUI Utility の conf.ini ジェネレーターを作ってみた

Custom Field GUI Utility の設定ファイルを書き出す「conf.ini ジェネレーター(BETA)」というのを作ってみました。少しは設定ファイルを作るのが楽になるでしょうか。

あまり動作検証してないので適当に使ってみてください!

明日からまた、MT に戻ります。

Custom Field GUI Utility 3.2 リリース - WordPress 3.3 に対応

WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2」をリリースしました。 主な変更点は以下の通りです。

  • 投稿タイプごとに設定ファイルを変えられるようにしました。
  • カスタムフィールドのボックス名(「カスタムフィールド」というタイトルバーです)も変更できるようにしました。
  • オリジナルの必須チェックを廃止し、「exValidation」を同梱しました。must オプションで簡単に必須項目にすることもできますし、validation オプションで細かく設定することもできます。
    いつも大変お世話になっている 5509 さんに深くお礼申し上げます。
  • textfield、imagefield、filefield に placeholder を追加できるようにしました。
  • 細かい話ですが、imagefield のアップローダーの「×」をクリックしなくてもカスタムフィールドに値が入るようにしました。
  • PHP ファイルを1つにまとめました、すいません。

詳細は以下のページをご確認ください。がんばって書き換えました。

なお、今後は一部有料化を検討しています。たぶん 3,000円くらいですが、「有料化すると会社の手続き的に使いにくくなるな−」という声もあるので、それも含めて検討したいと思います(って前にも書いたような…)。

さて、また MT の人に戻りたいと思います。不具合がないことを祈ります…

シェルスクリプトで自動的にデータベースをバックアップ

シェルスクリプトと cron で自動的にデータベースをバックアップする方法を勉強しました。サーバー初心者です。

サーバーは、CentOS 5.7 です。

参考サイトは「mysqldumpとcronでMySQLを自動バックアップする | Linuxで自宅サーバ構築」です。

続きを読む

Git でローカルに作ったブランチをリモートに反映させる

すごく基本的なことですが、どうしてもド忘れしてしまうのでメモしておきます。

まず、ローカルリポジトリに hoge という名前のブランチを追加するときは、

git checkout -b hoge

で、このブランチをリモートリポジトリにも追加する場合は、

git push origin hoge

となります。

これ以降は、master ブランチにチェックアウトしている状態で、

git push

すれば、master ブランチも、hoge ブランチも、すべてのブランチの変更が push されます。

ここに書いたから、もう忘れないな。っていうか、こんな単純なことをどうして覚えられないんだろう…

はじめての DynamicMTML #08 - MTSearchEntries (4) MTSplitVars を組み合わせて複数ワードのAND検索

前回は MTSearchEntries タグと MTSplitVars タグを使って複数のキーワードを OR 検索する方法を紹介しました。

今回は、AND 検索をする方法を紹介します。なお、前回の OR 検索の記事をお読みいただいている前提で進めます。

今回のテンプレートの仕様

AND 検索以外は、前回の記事と同様です。

  • 検索ワードはキーワード欄にカンマ区切りで指定する
  • 複数のキーワードは AND 検索
  • 現在のブログ内のブログ記事から検索する
  • 最新5件を表示する
  • 現在のブログ記事を除く

続きを読む