Movable Type スマートフォンオプションをインストールして使用していますが、一つのページにh1タグが複数あり、あまりよろしくないので修正しました。
アーカイブテンプレートのブログ記事で、
<h1 class="title entry-title">
<mt:if tag="EntryTitle">
<$mt:EntryTitle$>
<mt:Else>
タイトルなし
</mt:If>
</h1>
を下記のように修正。
<h2 class="title entry-title">
<mt:if tag="EntryTitle">
<$mt:EntryTitle$>
<mt:Else>
タイトルなし
</mt:If>
</h2>
Movable Typeのプラグイン「CKEditor for MT」をインストールしました。
入手先は、Downloads for usualoma's ckeditor-for-mt - GitHubです。
とりあえず、プラグインの「設定」の「その他の設定」で、下記の設定値を追加して、編集エリアの行数を変更してみました。
config.height = '30em';
カスタマイズできる部分が多すぎて、全ては使いこなせないと思います・・・(汗)。
今までは、HTMLタグを手入力する事が多々ありましたので、だいぶ手間が省けると思います(^^)。
Movable Typeのスマートフォンオプションを使用して構築したブログに、Windows Phoneでアクセスした場合もきちんとスマートフォン向けのレイアウトになりました。
いわゆるガラケーでアクセスした場合は、それなりに見れるページが表示されましたが、「検索」は文字コードの関係で正常に機能しませんでした。
管理画面へのアクセスは、Windows PhoneのIE9ではPC用の画面しか表示できません。Sleipnir Mobile for Windows Phoneをインストールし、ユーザーエージェントをiPhoneに変更することで、スマートフォン用の画面が表示できますが、「ブログ記事一覧」を表示しようとすると、エラーが発生して正常に表示することができません。
Can't call method "has" on an undefined value at lib/MT/CMS/Common.pm line 1385.
Windows PhoneでMovable Typeの管理をするには、ちょっと重たいPC用の管理画面で作業するしか方法はなさそうです。
Movable Typeのスマートフォンオプションについては、スマートフォンオプションを公開 | MovableType.jpページに詳しい情報があります。
Movable Typeでtagを削除したり、サーバー移転などによりブログIDが変わった時に、タグの検索結果がなくなった場合の対処です。
Apacheの設定や.htaccessで対処する方法が思いつかなかったので、Movable Typeのシステムテンプレートにある検索結果を変更して対処しました。
検索結果が0件=検索結果が0ページという事で、下記のコードを<head></head>間に追加しました。
<mt:unless tag="totalPages">
<meta name="robots" content="noindex" />
</mt:unless>
検索サイトからはすぐには消えないですが、放置しておくよりは良いんじゃないかと思います。
ケータイキット for Movable Typeを試用しています。
インストールと設定は、そんなに難しくはないですが、テンプレートを沢山作成するので、少し手間がかかります。
スマートフォンにも対応していますが、現時点では、iPhoneとAndroidに対応しています。携帯以外の機種でアクセスした場合にリダイレクトするように設定していると、Windows Phoneでアクセスした場合、PC用のページへリダイレクトされます(汗)。
リダイレクトの設定を外した状況でWindows Phone(IS12T)からアクセスすると、携帯用のページが表示されました。
このブログのトップページに携帯でアクセスした場合、携帯用のページへリダイレクトするように設定してみました。テンプレートの1行目に下記のコードを追加しています。
<?php
$link = "Location: <mt:blogurl>m/";
$ua = $_SERVER["HTTP_USER_AGENT"];
if(ereg("DoCoMo",$ua)||ereg("J-PHONE",$ua)||ereg("Vodafone",$ua)||ereg("SoftBank",$ua)||ereg("MOT-",$ua)||ereg("KDDI",$ua)||ereg("UP\.Browser",$ua)||ereg("PDXGW",$ua)||ereg("DDIPOCKET",$ua)||ereg("WILLCOM",$ua)||ereg("GoogleWireless Transcoder",$ua)){
header($link);exit;
}
?>
phpでerrorが出る現象ですが、vpsのOS再インストールをして直りましたが、Movable Typeのダイナミックパブリッシングが出来ない現象は直らず。
また、Movable Typeのバックアップと復元を試みるも、復元がうまくいかなくて記事のエクスポート、インポートで対処することにしました。Movable Typeの復元でエラーになってうまくいかない事が多いみたいで、検索すると多くの人が挫折しているようです(汗)。
エラーの内容から推測すると、アイテム(画像)を登録する際に、すべてを一度で登録しようとしてPOSTしているURIが長すぎるようです。
また変になると嫌なので、Movable Typeのカスタマイズは程々にして使うことにします。( ..)ヾ ポリポリ
ブログを再構築した為、登録していたユーザー情報がリセットされました。登録していただいていた方々の情報が全て無くなりましたので、ログインできなくなっています。m(__)m
Movable Typeでダイナミックパブリッシングを使おうとすると、
PHP Fatal error: Exception thrown without a stack frame in Unknown on line 0
というエラーメッセージがエラーログに出力されます。
最近、ダイナミックパブリッシングを使っていなかったので、いつからこうなってしまったのか、原因もよくわからない状態です。もしかすると、vpsサーバーの移転時に何かやってしまったのかも?(汗)。
phpを完全に削除してから、再インストールするのが出来ないような気がしますので、OS(CentOS)を再インストールした方が早そうです。
幸いデータは、OSとは別ディスクのHomeディレクトリにまとめているので、OSを再インストール後の復旧には、そんなに手間がかからなくて済みそうです。
今までthickboxを使っていましたが、動画にも対応できるshadowboxへ変更しました。
Movable Typeでの設置は、以下のような手順でできます。
shadowboxのサイトからダウンロードし、圧縮ファイルを解凍します。
cssファイルで指定している画像へのリンクを修正し、サーバーへアップロードします。
HTMLヘッダーテンプレートに下記を追加します。
<link rel="stylesheet" type="text/css" href="shadowbox.css">
<script type="text/javascript" src="shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.init({
language: 'ja',
autoplayMovies: false,
players: ['img', 'html', 'iframe', 'qt', 'wmp', 'swf', 'flv']
});
</script>
cssとjsファイルのURLは、アップロードした場所にあわせて修正します。
autoplayMoviesは、動画の自動再生の設定で、デフォルトではtrueになっています。
Internet Explorer 9をインストールして使用していますが、Movavle Typeの管理画面がIE9に対応していない為、表示が正常に出来ない所があります。
metaタグで対応するのは面倒なので、apacheの設定ファイル(httpd.conf)を変更して対応することにしました。
viでhttpd.confを開き、LoadModuleが記述されている所の下に、
Header set X-UA-Compatible "IE=8"
の1行を追加しました。
さくらのVPSを試してみたら、専用サーバ エントリーよりもサクサク動くのでちょっと驚きました。
Movable Typeの管理画面でエントリーを作成したり、テンプレートの編集をすると違いがよくわかります。あと、再構築にかかる時間も短くなります。
さくらのVPSへ変更すれば、レンタルサーバ代がひと月で約9割節減できるので、引っ越しを決意しました。
という訳で、この年末の休みを利用して引っ越しをしました。
以下、作業内容です。
- webコンテンツは、tar.gzで圧縮したファイルを転送、解凍してコピー。
- MySQLのデータベースは、バックアップ(エクスポート)したファイルを転送、インポート。
- ネームサーバのレコード編集。
- メールデータは、OutlookでIMAP接続しているので、旧サーバから新サーバへドラッグ&ドロップして移動。
- cronの設定を移行。