アドアチーブ株式会社

アドアチーブ株式会社 オフィシャルブログ

Movable Type

2009.04.17RightField の Plugindatの件

だいぶとサボッてしまいました。

いろんな人から突っ込みが。。

すみません。生きてます。

 

MT3.3のプラグインでRightFieldを使ってるのだけど、
最初は楽だからプラグインデータで作ってたけど、
後から所用でDBに移さなければいけなくなって、
っていうケースがありました。

RightFieldのデータって、BLOB(バイナリ)で保存されますので、
phpMyAdminからは見えないんですよね。

なのでBLOB部分をDBに移すためのジャンクプログラム(php)です。
自分の環境用に適度に書き換えてくださいませ。
少しでもお役に立てば幸いです。

あ、フィールドは作りませんので、DBの設定は先にしておいてください。

 
include('/usr/home/gt104110/html/mt/php/lib/MTSerialize.php');
$mt = new MTSerialize;

$sql = "select plugindata_data from mt_plugindata where plugindata_plugin = '移すデータ'";
$result = $mysql->query($sql);
$values = array();

while($row = mysql_fetch_array($result)) {
$value = $mt->unserialize($row['plugindata_data']);
array_push($values, $value);
if($value['number']){
 $ns ="";
 $vs ="";
 foreach($value as $n => $v){
  $ns .= "接頭句".$n.",";
  $vs .= "'".$v."',";
 }
 $ns = substr($ns,0,-1);
 $vs = substr($vs,0,-1);
 $sql = "insert into DB名 (".$ns.") values (".$vs.");";
 $result2 = $mysql->query($sql);
 print ($sql."\n");
 if (!$result2) {
     die('INSERT ERROR:'.mysql_error());
 }

}
}

 

参考にさせていただいたのは下記のページです。
ありがとう御座いました。

BLOB読み出し方
http://crenazumina.picolix.jp/archives/2006/04/movabletype_customfields.html

データのありか
http://www.koikikukan.com/archives/2008/01/28-011010.php

 

 

Movable Type

2007.03.08ライブドアBlogからMT3.3へ移管する時のカレンダー問題

今日は第二弾。カレンダーです。

デフォルトでMT3.3はLDのような月めくりカレンダーを作ることは難しいです。
というか多分無理です。
何でかといいますと、TOPページとか、カテゴリアーカイブのページ内で以下のタグが使えないからです。

  • <MTCalendar month="this"> 今月のカレンダーを表示するコンテナ
  • <MTArchiveNext> 来月のコンテナ(月別アーカイブの場合です)
  • <MTArchivePrevious> 先月のコンテナ(月別アーカイブの場合です)
  • <$MTArchiveDate$> 本日のタグ

こいつらが使えないと月めくりカレンダーは作れません。
でもこいつらをウィジェットに書いたら、月別、日別アーカイブでは良いのですが、
TOP、カテゴリアーカイブではモジュールごとはじかれてしまいます。

TOPページ内で表示させる方法は2つあります。

  1. iframeで何とかする。というもの。
    分かり易い参考サイトはこちらです。→小粋空間
  2. プラグインを入れてMTの中でPealを実行させる。というもの。
    参考になるサイトはこちらです。→nlog(n)

前者の方はだいぶわかりやすいと思いますが、
僕は後者のほうで行きました。

まずカレンダーモジュールを複製します。
そしてウィジェットも複製します。
(この時点で既にスマートではないですね… 照れる

月別、日別アーカイブ用にカレンダー用タグを使ったモジュールを書きます。
こんな感じです。

<MTArchivePrevious archive_type="Monthly">
<a href="<$MTArchiveLink$>">&lt;&lt;</a>
</MTArchivePrevious>
<$MTArchiveDate format="%B %Y"$>
<MTArchiveNext archive_type="Monthly">
<a href="<$MTArchiveLink$>">&gt;&gt;</a>
</MTArchiveNext>

<MTCalendar month="this">

このモジュールを入れたウィジェットを月別、日別のアーカイブに入れます。

もう一個、TOP、カテゴリアーカイブ用のモジュールを作る前に、
プラグインをインストールします。

 

で、モジュールをこんな感じで書きます。 

<MTSetVar name="prev_m" value="0">
<MTSetVar name="prev_y" value="0">
<MTPerlScript>
  $y = '<$MTDate format="%Y"$>';
  $m = '<$MTDate format="%b"$>';
  $m--;
  if($m == 0){$m=12;$y--;}
  if($m == 13){$m=1;$y++;}
  $m = sprintf("%02d",$m);
  $ctx->{__stash}{vars}{prev_m}=$m;
  $ctx->{__stash}{vars}{prev_y}=$y;
</MTPerlScript>
<a href="<$MTBlogURL$><$MTGetVar name="prev_y"$>/<$MTGetVar name="prev_m"$>/">&lt;&lt;</a>
<$MTDate format="%Y年 %m月"$>
<a href="<$MTBlogURL$><$MTDate format="%Y"$>/<$MTDate format="%m"$>/">&gt;&gt;</a>

出来たモジュールをウィジェットに入れて、TOP、カテゴリアーカイブに入れます。

かなり強引な手ではありますが、 LDの月めくりカレンダーとほぼ同じ動作をします。あとは小まめにタグを打ち変えていけばOK 悲しい 面倒ですが。

Movable Type

2007.03.07ライブドアBlogからMT3.3へ移管する時のデータ移動方法

ようやくMTのセットアップが完了しました。
これでコメントいただいても恥ずかしくないです 笑う

このBlogはライブドアに長いことお世話になっていたのですが、
製作会社の癖にいつまでもLD使ってるのもどうかと。ということで
先日MTインストールしました。

Livedoorから移管するときに
何かと突っかかった問題がありましたので、
わかった範囲で解決策を。

インストールした時のエントリに
「画像が激しく面倒」とか超いい加減なこと書いてしまいました。

はい。むちゃくちゃ簡単でした 照れる すみません。

しかし書いてしまったので
データの移動方法について書いておきます。
あ、僕はアレですよ。割と好きですよ。LD。大変そうですけど。

まず、「有料プラン」から「インポート/エクスポート」を選びます。
で、エクスポートファイルを作成します。
少し時間がかかるみたいです。

次にFTPでBlogに接続します。 

ホスト名:ftp.blog.livedoor.com
ユーザー名:livedoor ID
パスワード:お使いのパスワード

エクスポートファイルは
ブラウザーからダウンロードも出来るのですが、
画像も一緒にダウンロードします。

  • buckup.txt
  • imgs(ディレクトリ)

この2つをダウンロードします。

次にbuckup.txtを開いて、置換が出来るテキストエディタで開き、
「image.blog.livedoor.jp/ユーザー名/imgs」と
「Blogのドメイン/imgs」(好きなところで)
を置き換えます。

後は「imgs」を自分のBlogにUPして、
MTのインポートからbuckup.txtを放り込めば出来上がり。
何も考える必要なかったです 笑う

2007.4/11追記------------------------------
タグをしっかり書いていた人に痛い報告です。
buckup.txtにタグは書き出されません。
地味にコピペしていくしかないかもです…。
------------------------------------------------

 

さてデータを移動したら、
取り急ぎ前の機能を模倣したくなるのが人の性。
次回はカレンダーの作り方を。

Movable Type

2007.03.05ブログ移管。着々と。

せっかくMTをインストールしたので、
このBlogもライブドアから移管準備を初めてます。

画像が…激しく面倒ですね…。
livedoorから簡単に移動できる方法があったら教えて欲しいです。

でも、ライセンスも購入したので、
この際自社のWEBサイトを全て移動してしまおうかと。

いそがしくなりますね。また。


それはそうと、途中であきらめたのですが、
MT3.34とMySQL4.1.12って相性が悪いのかな?
(短絡的ですみません)

文字化けしそうな文字がエスケープされたまま出力されるんです。
バックスラッシュばっかりで見れたものではありません。。

近い症状の人いるかな?と思って調べてみたのですが、
Shift-JISではいらっしゃるのですが、(こちら
OSもうちはFreeBSD5.3ですし。。
というかそもそもutf8ですし。


全然解決策になってないのですが、
結局PostgreSQLで動かすことにしました。
ん〜。。。気持ち悪い…。


そんなこんなで。

Movable Type

2007.02.28MTインストール(遅っ!)

これも今更ながらなんですが
ようやく自社サーバーにMTをインストールしました。

しばらく触ってなかったサーバーにインストールしたのですが
それが原因でまたエライ躓きまして。。。

結果的にはMTをインストールしたディレクトリのパーミッションが
777だったのが原因なのですが

777ならいけそうじゃん。と思っていたんです。
でも、755じゃなきゃ動かなかったです。なんでだろ?

MTというよりそもそもcgiが777では動かなかったので
多分そんな設定を遠い昔にしたんだろうと。。

日常的に触っているものは覚えてるんですが
しばらく触らないとすぐ忘れてしまいます。

でも
サーバの設定は覚えておかなきゃなぁと
激しく思った今日この頃でした。




さて、ウルトラうまっ!
「本日の感動」コーナーです。
(初めてですし、続けるつもりはないですが)

はてなで知ったのですが、
これは面白いかも。
というか良く出来てます。

ソーシャル・タイムライン(@nifty)

写真とかも掲載できるみたいで、
インターフェイスの作りこみも◎

だれか面白いタイムライン作ったら教えてください♪

▼ Advertisement ▼

ソファー卸通販店だから高級ソファーが安い!

最高のソファーをお求めなら価格も質も魅力的な当店で!サイトのかわいい雰囲気も大好評です!

高級なソファーをお手頃価格でご提供!かわいいソファーも取り揃えております。!

▼ Advertisement ▼

最適な税理士をご紹介!

税理士は、ご相談の内容やご希望に合った方を選ぶと効率的!貴社にそんな税理士をご紹介いたします!紹介料は無料です!