ラベル MT系 の投稿を表示しています。 すべての投稿を表示
ラベル MT系 の投稿を表示しています。 すべての投稿を表示

火曜日, 2月 08, 2011

MySQL一つで複数のMTをインストールする方法。





よくありがちなパターンですが、MySQLのDBがひとつしかないホスティングサービス上で、
複数のMTをインストールする方法がありますのでご紹介。


◇ 実施した環境
MT 5.0.4
MySQL 5.1.50



変更が必要なファイルは以下の3つ:

  • lib/MT/ObjectDriver/Driver/DBI.pm
  • lib/MT/ObjectDriver/Driver/DBD/Legacy.pm
  • lib/MT/ObjectDriver/Driver/DBD/Pg.pm

DBI.pm(16-30行目)


sub init {
    my $driver = shift;
    my (%param) = @_;
    $param{prefix} ||= 'mt5_';
    $driver->SUPER::init(%param);
    my $opts = $driver->connect_options || {};

    require MT;
    my $mt = MT->instance;
    my $cfg = $mt->config;
    $opts->{RaiseError} = $cfg->DBIRaiseError;

    $driver->connect_options($opts);
    $driver;
}


Legacy.pm(47-52行目)

sub db_column_name {
    my $dbd = shift;
    my ($table, $col) = @_;
    $table =~ s{ \A mt5_ }{}xms;
    return join('_', $table, $col);
}


Pg.pm(128-141行目)

sub sequence_name {
    my $dbd = shift;
    my($class) = @_;

    my $key = $class->properties->{primary_key};
    ## If it's a complex primary key, use the second half.
    if(ref $key) {
        $key = $key->[1];
    }

    # mt_tablename_columnname
    return join '_', 'mt5',
        $dbd->db_column_name(MT::Object->driver->table_for($class), $key);
}

※参考にしたサイト

で、実際のDBを走らせてみたらなんと!
DBに新しいフィールドが出来てるじゃないですか!!

DBの登録もキチンとされているし、MTの動きも問題ない。
取り敢えずこのまま運用を続けてみることにします。



※これを実施する前にかならず現状のDBバックアップを取ってください。
また、これにより復元できない、エラーが起きたとしても当方は責任持てませんのであしからず。

月曜日, 11月 09, 2009

MT4での『Can't call method "label" on an undefined value』 エラーについて

MT4で突如、ログインしようとすると

Can't call method "label" on an undefined value

って怒られた。

ってなったんで、グーグル先生に聞いてみるとおなじ苦労されている方を発見!!


参考元サイト

徒然雑草
Movable Type 4.2  Can't call method "label" on an undefined value



インストールディレクトリ直下の/lib/MT/Entry.pmを編集する。
my @cats = sort { $a->label cmp $b->label } @$cats
これを下記のように書き換える、
my @cats;
eval('my @cats = sort { $a->labelstrong> cmp $b->label } @$cats');


あー、そっかバックアップしたブログを戻した奴だったもんなぁー。って思いだしたけど

『そんなエラーじゃわかるかい!!』
って激しく突っ込んどきました。


水曜日, 7月 09, 2008

Perl 5.8系で Image-Magick windows

これははまったわ。

mt-check.cgiでImage::Magickが認識されないんですもの。。。


ppm > rep add "Image-Magick"
http://theoryx5.uwinnipeg.ca/ppms
http://www.bribes.org/perl/ppmとか適当にreppositoryを入れてみる


でppm > rep up 2

ppm > s Magick

ppm > install Image-Magick
ppm > install PerlMagick

でおけ。

金曜日, 3月 14, 2008

WindowsサーバでMTでメール送信

どうやらあの「sendまねーる」は使えないっぽいんで


SMTPサーバ(IISとかの)を別でたてて、以下内容をコンフィグへ追加のココロ

MailTransfer smtp
SMTPServer 127.0.0.1

水曜日, 3月 05, 2008

MTOS-4.1のローカライズ 日本語版

通常だとMTOSのダウンロードは英語版だけど
以下で日本語版がダウンロード可能です。

ま、オフィシャルじゃないけど、日本語化いろいろメンドクサイから
これ利用させてもらいましょう。

http://wiki.movabletype.org/LocalizedPackages/MTOS-4.1

火曜日, 1月 22, 2008

あ、ついでにMTでFCKEditor使うときは

mt-config.cgiに以下を追加のココロ。

#======== TextEditor =======================

RichTextEditor FCKeditor

#======== TextEditor =======================

FCK Editorで

fckconfig.js

FCKConfig.ToolbarSetsのコメントアウトで
ボタンの表示・非表示切り替えが可能。