MovableType4.2のウィジェット機能を利用して、サイドバーに「お気に入りリンク」のウィジェットを追加作成します。

1.ウィジェット機能の表示と確認

 ブログメニューの [デザイン]で [ウィジェット]をクリックします。


 次のウィジェット画面が表示されます。


 ウィジェットには、ウィジェットセットとウィジェットテンプレートの2つの機能があります。

 ウィジェットセットは、現在サイドバーに表示されているウィジェット(=パーツ)がインストール済みとして確認できます。
 ウィジェットテンプレートには、サイドバーに表示可能なウィジェットが並んでいます。

 サイドバーに表示可能なリンクのウィジェットが在りませんので、作成するために、
 [ウィジェットテンプレートを作成]をクリックします。


2.お気に入りリンクのウィジェットを作成

 次のウィジェットを作成画面が表示されますので、


 テンプレート名と、
 ウィジェットの内容を入力して、

 <div class="widget-favorite widget">
     <h3 class="widget-header">お気に入りリンク</h3>
     <div class="widget-content">
         <ul>
             <li><a href="http://favorite-site-url/">サイトのタイトル</a></li>
         </ul>
     </div>
 </div>

 [保存]ボタンをクリックします。

 ウィジェット画面に戻り、


 ウィジェットテンプレートに「お気に入りリンク」のウィジェットが在ることを確認し、
 [2カラムのサイドバー]リンクをクリックします。


3.ウィジェットセットの編集機能の表示と確認

 次のウィジェットセットの編集画面が表示されます。


 インストール済みの一覧は、現在サイドバーに表示されているウィジェット群です。
 利用可能の一覧は、ドラッグ&ドロップで、サイドバーに表示できるウィジェット群です。

 各ウィジェットは、ドラッグ&ドロップの操作で、サイドバーへの追加と削除が可能です。


4.お気に入りリンクをサイドバーに追加

 次のウィジェットセットの編集画面のように、


 「お気に入りリンク」のウィジェットをインストール済みの好みの位置へ、ドラッグ&ドロップして追加し、
 [変更を保存]ボタンをクリックします。


再構築を忘れずに実行してください。

これで、サイドバーに「お気に入りリンク」が表示されることになります。

MovableType4.1から、サイドバーの内容管理をウィジェット機能で行うように変更されました。
この機能変更により、デフォルトテンプレート (既定ブログ) に若干の変更があります。


シックスアパート社のドキュメントによると、

MovableType4.0xからアップグレードして、MovableType4.1 のデフォルトテンプレート (既定ブログ) へ入れ替えを行った場合、ウィジェットセットを3つ作成する必要があるようです。

操作手順:

 1.ブログメニューの [デザイン]で [ウィジェットセット]を選択
 2.[ウィジェットセットの作成] をクリックし、新規ウィジェットセット作成画面に移動
 3.[セット名] にウィジェットセット名を入力

作成ウィジェットセット(セット名は以下のものを設定):
 ・2カラムのサイドバーの場合:         2カラムのサイドバー
 ・3カラムのサイドバー(サブ)の場合:   3カラムのサイドバー(サブ)
 ・3カラムのサイドバー(メイン)の場合: 3カラムのサイドバー(メイン)


ウィジェット機能を利用すると、サイドバーの内容を「ドラッグ&ドロップ」で簡単に変更可能で、「ウィジェットテンプレート」を追加作成することで、サイドバーの内容を拡張することも可能です。

VC++ 2008 Standard EditionとVB 2008 Standard Editionの同一システムへのインストールは出来ないのでしょうか?


確認1.
 ・Visual C++インストール後

 ・Visual Basic
 ・SQL Server 2005 Express Edition

 を追加インストールしたところ、C++のコンパイルが出来なくなりました。

確認2.
 ・Visual C++インストール後

 ・Visual Basic

 の追加インストールでも、C++のコンパイルが出来ません。

確認3.
 ・Visual Basic
 ・Visual C++インストール

 の同時インストールでも、C++のコンパイルは出来ませんでした。


もしかすると(自分が無知なだけ?)、VC++とVBの共存は出来ず、VBが優先されるのかもしれません。

一旦、ハードディスクをVC++ 2008 Standard Editionをインストールする前の状態に戻し、再度インストールを行いました。

何故か、今度は上手くいったようです。

「cl.exe」のインストール位置を確認したところ、

 C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
 C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\x86_amd64
 C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\amd64

の3フォルダに、それぞれ存在しているようですが、勿論、ビルドに利用するのは、VC¥bin内にある「cl.exe」です。


今回のインストール項目選択は、

 ・Visual C++


前回のインストール項目選択は、

 ・Visual Web Developer

 ・Visual Basic
 ・Visual C++

 ・SQL Server 2005 Express Edition


まさかとは思いますが、前回のインストール時には、Microsoft Updateで

 ・Office 2007 Service Pack 1

をいれたのですが。

何がいけなかったのでしょうか?

VC++ 2008の「Standard Edition」と「Express Edition」で動作が異なったため、「cl.exe」のインストール位置を確認したところ、

・VC++ 2008 Express Editionでは

 C:\Program Files\Microsoft Visual Studio 9.0\VC\bin

フォルダ内にありました。が、

・VC++ 2008 Standard Editionでは、何故か

 C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\x86_amd64
 C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\amd64

の2つのフォルダがあり、「cl.exe」が2つ存在していました。

それぞれのフォルダに移動して、clコマンドを実行すれば、当然コンパイルが行われますが、リンカー辺りで別の問題が発生します。

DVDで「復旧/再インストール」を実行しても同じ現象ですので、更からインストールをやり直します。


因みに、cl.exe(VC++コンパイラ)には、様々なバージョンがあるようで、

マシンのCPU   ターゲットCPU   インストールされるコンパイラ   SDKの選択
X86        X86         X86 ネイティブコンパイラ     X86
X86        X64         X86_amd64 クロスコンパイラ    X64
X86        IA64         X86_IA64 クロスコンパイラ     IA64
X64        X64         X64 ネイティブコンパイラ     X64
X64        X86         X86_amd64 クロスコンパイラ    X86
X64        IA64         X86_IA64 クロスコンパイラ     IA64
IA64        IA64         IA64 ネイティブコンパイラ     IA64
IA64        X86         X86_IA64 クロスコンパイラ     X86
IA64        X64         X86_amd64 クロスコンパイラ    X64


x86 on x86
x86 マシン用の出力ファイルを作成します。cl.exe のこのバージョンは、x86 マシン上ではネイティブの 32 ビット プロセスとして、64 ビットのWindowsオペレーティング システムでは WOW64 により 32 ビット プロセスとして実行されます。

x64 on x64
x64 用の出力ファイルを作成します。cl.exe のこのバージョンは、x64 マシン上ではネイティブのプロセスとして実行されます。

Itanium on Itanium
Itanium 用の出力ファイルを作成します。cl.exe のこのバージョンは、Itanium マシン上ではネイティブのプロセスとして実行されます。

x64 on x86(x64クロス コンパイラ)
x64 用の出力ファイルを作成します。cl.exe のこのバージョンは、x86 マシン上ではネイティブの 32 ビット プロセスとして、64 ビットのWindowsオペレーティング システムでは WOW64 により 32 ビット プロセスとして実行されます。

Itanium on x86(Itaniumクロス コンパイラ)
Itanium 用の出力ファイルを作成します。cl.exe のこのバージョンは、x86 マシン上ではネイティブの 32 ビット プロセスとして、64 ビットのWindowsオペレーティング システムでは WOW64 により 32 ビット プロセスとして実行されます。

となっているようです。

状況を確認するために、同型の他のパソコンにVC++をインストールして、動作チェックを行います。

マイクロソフトの「Visual Studio 2008 Express Editions」サイトから
「VisualC++ 2008 Express Edition」をダウンロード・インストール後、同じようにラベルを付けたフォームをビルドしたところ、

すんなりとビルドが完了し、フォームが表示されました。

試しに、「Visual Studio 2008 コマンドプロンプト」を起動して、clコマンドを実行してみると、使用法のメッセージが表示されました。

どうやら、「cl.exe」のパスは、実行可能ファイルのパスにちゃんと含まれているようです。

因みに、ビルドが成功した時の「VC++ ディレクトリ」の内容は、

$(VCInstallDir)bin
$(WindowsSdkDir)\bin
$(VSInstallDir)Common7\Tools\bin
$(VSInstallDir)Common7\tools
$(VSInstallDir)Common7\ide
$(ProgramFiles)\HTML Help Workshop
$(FrameworkSDKDir)bin
$(FrameworkDir)$(FrameworkVersion)
$(VSInstallDir)
$(SystemRoot)\SysWow64
$(FxCopDir)
$(PATH)

でした。

「Visual C++ 2008 Standard Edition」をインストール後、ラベルを付けたフォームをビルドしたところ、

「プロジェクト: error PRJ0003 : cl.exe' の起動中にエラーが発生しました」

とエラーが表示されて、ビルド出来ませんでした。

検索してみると、MSDN版Visual Studio.NET 2003に

原因として以下のことが

 ・システムリソースの不足。この問題を解決するには、一部のアプリケーションを終了します。
 ・適切でないセキュリティ権限。適切なセキュリティ権限が指定されているかどうかを確認してください。
 ・[VC++ ディレクトリ] で指定された実行可能ファイルのパスに、実行を試みているツールのパスが含まれていません。
 ・メイクファイル プロジェクトの場合は、[ビルド コマンド ライン] または [リビルド コマンド ライン] のいずれかで実行するコマンドがありません。

考えられます。と書かれていたようです。

試しに、「Visual Studio 2008 コマンドプロンプト」を起動して、clコマンドを実行してみると、"操作可能なファイルとして認識されていません"と言うようなメッセージが表示されました。

どうやら、実行可能ファイルのパスに、「cl.exe」のパスが含まれていないのが、原因のように思われます。

前回の「MTOS4.1英語版の日本語化 その2」、前々回の「MTOS4.1英語版の日本語化 その1」で、日本語化するための3ファイルの修正も終了しましたので、MTOS4.1をサーバーにインストールします。


・上記の日本語化を行っても、インストールの一番最初の画面は、次のように英語が表示されますが、

 それ以降のインストール表示画面は、日本語で表示されます。


・インストールの詳細は、「MovableType4.1のインストール」を参照して下さい。

 MTOS4.1の導入は、「MovableType4.1導入録 CORESERVER編」が参考になるかもしれません。

前回の「MTOS4.1英語版の日本語化 その1」で、日本語化するために修正した3ファイルの内容を確認します。


1.mt-check.cgiファイルの修正内容

60行目の"ja"の修正はOKですか?


2.MT.pmファイルの修正内容

917行目の"ja"の修正はOKですか?


962行目の"ja"の修正はOKですか?
963~966行目の"日本語サイトURL"の修正はOKですか?
968~972行目の"日本語関連設定"の修正はOKですか?


3.mt.phpファイルの修正内容

305行目の"ja"の修正はOKですか?

以上で、日本語化するために修正した3ファイルの内容確認は終了です。

・MovableTypeオープンソースのダウンロードサイトで、MTOS4.1(2008年2月20日現在)を入手します。

・入手した、「MTOS-4.1-en.zip」 を解凍します。
 ここでは解凍ソフトとして、日本で有名な「Lhaplus」を使用しています。

・解凍後、英語版パッケージを日本語化するために、

 (1)mt-check.cgi
 (2)libフォルダのMT.pm
 (3)phpフォルダのmt.php

 の3ファイルの内容を修正します。

 ここではテキスト・エディタとして、日本で有名な「秀丸」を使用します。


1.mt-check.cgiファイルを修正

 60行目に移動すると、次のような画面が表示されますので、

 言語の指定を日本語の「ja」に修正します。

 my $lang = 'en_US';
  ↓
 my $lang = 'ja';


2.MT.pmファイルを修正

 917行目に移動すると、次のような画面が表示されますので、

 言語の指定を日本語の「ja」に修正します。

 $mt->set_language('en_US');
  ↓
 $mt->set_language('ja');

 962行目に移動すると、次のような画面が表示されますので、

 ①言語の指定を日本語の「ja」に修正します。
 ②管理画面などで表示される英語情報を日本語(のURL)情報に変更します。
 ③言語情報を日本語関連情報に変更します。

 $defaults->{DefaultLanguage}{default} = 'en_US';
 $defaults->{NewsboxURL}{default} = 'http://www.sixapart.com/movabletype/news/mt4_news_widget.html';
 $defaults->{LearningNewsURL}{default} = 'http://learning.movabletype.org/newsbox.html';
 $defaults->{SupportURL}{default} = 'http://www.sixapart.com/movabletype/support/';
 $defaults->{NewsURL}{default} = 'http://www.sixapart.com/movabletype/news/';
 #$defaults->{HelpURL}{default} = '__HELP_URL__';
 $defaults->{DefaultTimezone}{default} = '0';
 $defaults->{MailEncoding}{default} = 'ISO-8859-1';
 $defaults->{ExportEncoding}{default} = '';
 $defaults->{LogExportEncoding}{default} = '';
 $defaults->{CategoryNameNodash}{default} = '0';
 $defaults->{PublishCharset}{default} = 'utf-8';
  ↓
 $defaults->{DefaultLanguage}{default} = 'ja';
 $defaults->{NewsboxURL}{default} = 'http://www.sixapart.jp/movabletype/news/newsbox.html';
 $defaults->{LearningNewsURL}{default} = 'http://www.movabletype.jp/newsbox.html';
 $defaults->{SupportURL}{default} = 'http://www.sixapart.jp/movabletype/support/';
 $defaults->{NewsURL}{default} = 'http://www.sixapart.jp/movabletype/';
 #$defaults->{HelpURL}{default} = '__HELP_URL__';
 $defaults->{DefaultTimezone}{default} = '9';
 $defaults->{MailEncoding}{default} = 'ISO-2022-JP';
 $defaults->{ExportEncoding}{default} = 'Shift_JIS';
 $defaults->{LogExportEncoding}{default} = 'Shift_JIS';
 $defaults->{CategoryNameNodash}{default} = '1';
 $defaults->{PublishCharset}{default} = 'utf-8';


3.mt.phpファイルを修正

 305行目に移動すると、次のような画面が表示されますので、

 言語の指定を日本語の「ja」に修正します。

 $cfg['defaultlanguage'] = 'en_US';
  ↓
 $cfg['defaultlanguage'] = 'ja';


以上で、英語版パッケージを日本語化する修正作業は終わりです。