Top > October 2007 [全て開く]

Sitemaps 0.90 用テンプレート(MT4対応)

October 31,2007 1:15 AM
Category:[その他]
Tag:[, , ]
Permalink

Sitemaps 0.90 用テンプレート(Google・Yahoo!・MSN サポート予定)」で公開していた Sitemaps 0.90 用テンプレートについて、ご要望を頂きましたので Movable Type 4 対応に修正しました。

Sitemaps 0.90 に対応した情報を公開することで、Google、Yahoo、Microsoft の各検索エンジンにサイト情報を適切に通知できるようになります(検索エンジンのインデックスにウェブページのすべてを含むことを保証するものではありません。クロールを補完するための仕組みです)。

1.テンプレートの変更点

変更点は下記の通りです。

  • ウェブページに対応
  • 全ての種類のアーカイブテンプレートに対応
  • ブログ記事アーカイブの全件出力にMTSetVarBlockタグを使用
  • アーカイブインデックス用のMTLinkタグのtemplate属性名を修正

以下、Sitemaps 0.90 用テンプレートの設定方法です。

2.テンプレート作成

ブログ管理画面より「デザイン」→「テンプレート」→「インデックステンプレートを作成」をクリック

  • テンプレート名:サイトマップ(名前は何でもいいです)
  • テンプレートの種類:カスタムインデックステンプレート
  • 出力ファイル名:sitemaps.xml
  • 再構築オプション:チェックする
  • ファイルへのリンク:(設定不要)
  • テンプレートの内容:下記 の内容をコピー&ペースト
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 
<MTIgnore>メインページ</MTIgnore>
<url>
<loc><$MTBlogURL encode_xml="1"$></loc>
<lastmod><$MTDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
<changefreq>daily</changefreq>
</url>
 
<MTIgnore>ブログ記事アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Individual"> 
<MTSetVarBlock name="blogentrycount"><$MTBlogEntryCount$></MTSetVarBlock>
<MTEntries lastn="$blogentrycount">
<url>
<loc><$MTEntryPermalink encode_xml="1"$></loc>
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
<priority>1.0</priority>
</url>
</MTEntries>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>ウェブページ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Page"> 
<MTPages>
<url>
<loc><$MTPagePermalink encode_xml="1"$></loc>
<lastmod><$MTPageModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
<priority>1.0</priority>
</url>
</MTPages>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>カテゴリー・アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Category"> 
<MTCategories>
<url>
<loc><$MTCategoryArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTCategories>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>ユーザー別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Author"> 
<MTArchiveList archive_type="Author">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>年別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Yearly"> 
<MTArchiveList archive_type="Yearly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>月別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Monthly"> 
<MTArchiveList archive_type="Monthly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>週別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Weekly"> 
<MTArchiveList archive_type="Weekly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>日別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Daily"> 
<MTArchiveList archive_type="Daily">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>ユーザー年別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Author-Yearly"> 
<MTArchiveList archive_type="Author-Yearly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>ユーザー月別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Author-Monthly"> 
<MTArchiveList archive_type="Author-Monthly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>ユーザー週別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Author-Weekly"> 
<MTArchiveList archive_type="Author-Weekly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>ユーザー日別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Author-Daily"> 
<MTArchiveList archive_type="Author-Daily">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>カテゴリ年別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Category-Yearly"> 
<MTArchiveList archive_type="Category-Yearly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>カテゴリ月別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Category-Monthly"> 
<MTArchiveList archive_type="Category-Monthly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>カテゴリ週別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Category-Weekly"> 
<MTArchiveList archive_type="Category-Weekly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>カテゴリ日別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Category-Daily"> 
<MTArchiveList archive_type="Category-Daily">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>アーカイブインデックス</MTIgnore>
<url>
<loc><$MTLink template="アーカイブインデックス" encode_xml="1"$></loc>
<lastmod><$MTDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</url>
 
</urlset>

上記を設定後、保存・再構築します。

これでメインページと同じディレクトリに sitemaps.xml が生成されていればOKです。確認方法は、ブラウザから sitemaps.xml をURL指定して実行してみるか、FTPツールでメインページと同じディレクトリに sitemaps.xml があることを探してください。

3.その他

他のサイトでもサイトマップ用テンプレートは数多く公開されていますが、当サイトでは下記の点を改善しています。

3.1 アーカイブの選択

各アーカイブ(カテゴリー/エントリー/月別/週別/日別等)の表示は、MTIfArchiveTypeEnabled を用いているので、使用中のアーカイブのみを自動的に対象に含めます。
つまりデフォルトテンプレートの運用であれば、サイトマップテンプレートの修正は不要です。

3.2 ファイルの最終更新日

各アーカイブページの更新日時は、下記の設定により、更新順に並べ替えた最新の1件を用いるようにしています。これにより過去のエントリーを修正した場合も、その時刻が反映されます。

Google の説明では、静的ファイルは「ファイルを実際に更新した日付」とありますが、Movable Type の静的ファイル生成、つまり再構築はアーカイブ別に行われるため、MTEntryModifiedDate が適正と思われます(間違ってたらすいません)。これにより、更新されていない URL はクロールしなくなるらしいので、サーバー負荷や CPU 使用量を軽減できます。

<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>

下の設定では、該当するアーカイブに属する最新エントリーの更新時刻しか収集されません。つまり、過去のエントリーを修正した時刻が反映されないという欠点があります。

<MTEntries lastn="1">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>

ただし、インデックステンプレート(メインページ/アーカイブページ)については正確な更新日を取得する手段がないため、MTDate(再構築日時)を利用しています。

3.3 タイムゾーン

タイムゾーンに MTBlogTimeZone を用いています。現地時刻表記の場合は MTBlogTimeZone を用いてタイムゾーン・オフセットを付与するのが適切と思われます。

<lastmod><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>

utc 属性を用いれば協定世界時になるので、MTBlogTimezone の代わりに下記の設定でも大丈夫なようです。

<lastmod><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></lastmod>

W3C Datetime によれば、青色部分の「Z」は時刻をUTC (協定世界時) で表記した場合に付与する特別な指定子です。

なお、utc 属性は MTDate / MTEntryDate / MTEntryModifiedDate / MTEntryCreateDate / MTTemplateCreatedOn タグで利用することができます(MT4 公式マニュアルには掲載されていません)。

3.4 優先度

インデクシングして欲しい(と思われる)エントリー・アーカイブに priority を設定し、相対値を少し高くしています。

4.注意事項

Sitemap ファイル(sitemaps.xml)は UTF-8 で保存する必要があります。ブログの文字コードが UTF-8 以外の場合は下記のプラグインを用いて、Sitemaps の文字コードを UTF-8 で出力しましょう。

Ogawa::memorandaMT-I18Nプラグイン

MT-I18Nプラグインをインストールした後、Sitemaps のテンプレート全体を MTEncodeText タグで括ります。

<MTEncodeText from="[ブログの文字コード]" to="utf8">
    :
[Sitemap の内容]
    :
</MTEncodeText>
Comments [2] | Trackbacks [1]

「Movable Type WEBデザインの新しいルール」 販売状況と紹介リンク等

October 30,2007 1:50 AM
Category:[書籍]
Tag:[]
Permalink

17日に発売された「Movable Type WEBデザインの新しいルール」 の販売状況と関連リンク、および書籍の補足です。

Movable Type WEBデザインの新しいルールMovable Type WEBデザインの新しいルール
荒木 勇次郎 松永 英明

翔泳社 2007-10-17
売り上げランキング : 205

Amazonで詳しく見る
by G-Tools

1.販売状況

出版社の方から連絡頂きました。好調な売れ行きで、社内でも評判らしいです。
お買い上げ下さった皆様、ありがとうございます!

Amazon売り上げランキング
私が確認した限りでは205位が最高でした。

Amazon・本のベストセラー(コンピュータ・インターネット)
私が確認した限りでは9位が最高でした。

翔泳社の本ランキング:6位(10/30現在)
MCP教科書等がひしめく中、大健闘(浮いてます)。

cbookランキング:1位(10/15~10/21)
コンピュータ書籍専門ネット書店でも大健闘のようです。

2.紹介リンク

以下、書籍を紹介くださった記事の一覧です。ご紹介くださりありがとうございます。

3.補足

Amazon のカスタマーレビューで、PHP化がうまくできなかった方の評価で、

肝心のところでphpに関するサーバー側設定についてはソースを数行掲載するばかりで(しかもそれは決して汎用性のあるものではない)、「ここはサーバーによって異なるので各自調べるように」といった感じで放り投げまったく解説しないありさま。ある特定の1つのレンタルサーバーでいいから、設定手順などが解説してあれば、多くの読者はそこから類推して自分のケースに置き換えるなどできるはずだが、それさえない。

とありました。

「ソースを数行掲載」は、おそらく mt-config.cgi のパーミッション変更設定のことを指されていると思いますが、設定は「さくらインターネット(スタンダード・プレミアム)」を例に解説しています(サーバ名の記載は抜けておりましたので反省)。
mt-config.cgi の設定項目の説明はページの制約上掲載できなかったため、結果的に一例しか掲載できませんでした(原稿は書いたのですが編集の段階で割愛)。これについてはいずれ解説したいと思います。

念のため、PHP化の説明は、この方がおっしゃっているようなソース数行(+各自調べる)だけではなく、拡張子の変更方法やXML宣言の変更、html ファイルの削除、うまく動作しなかった場合の対処方法等、4ページにわたって解説しています。

それから、

「急いで作ったので、こうなって(深く掘り下げずに省略を多くして)しまった」と いう感じが本のあちこちで見えたので~

というくだりについても、印象や感想は主観的なので仕方ないのですが、「急いで作った」ということは決してありません。

Amazon 上ではこのような応答ができないため、代わりにここに掲載させて頂きました。

他のルートでも「PHP化がうまくできません」という質問を頂いてまして、PHP化の記述は基本的な記述にとどめていたのですが、意外に反響があったのかもしれません。
いずれにしても、売り逃げするつもりは毛頭ありません。ご不明な点は出版社への質問や、本ブログのコメント等でできるだけ解消していきたいと思います。

またサンプルデータのダウンロードサイトはサポートも兼ねてますので、そちらでも情報を展開していきたいと思います。

Comments [10] | Trackbacks [0]

Web Site Expert #14

October 29,2007 12:07 AM
Category:[書籍]
Tag:[, , ]
Permalink

「Web Site Expert #14」には、個人的に読んでみたい記事が目白押しです。

Web Site Expert #14Web Site Expert #14
WebSite Expert編集部

技術評論社 2007-09-27
売り上げランキング : 5424

Amazonで詳しく見る
by G-Tools

目玉は「まだ間に合う、いまから始めるSEO」という特集で、誌面の70ページほどを割いてSEOに関する記事が掲載されています。

1章:SEOを始める前に読んでいただきたい12のポイント
2章:検索エンジンと仲良しになる6つのポイント
3章:意外に知らない「リンク」の常識・非常識
4章:ケーススタディ『きのとやオンライン』の場合
5章:キーワード有効度調査からのサイト設計
6章:CMSで実現するSEO対策
7章:ユーザ生成型コンテンツによるSEO戦略
8章:モバイル検索エンジンの最新動向とモバイルSEOのコツ
9章:FlashでのSEOは可能なのか?

SEOに関する技術や最新の動向を知ることができるでしょう。

また、「先取り、Twitter使いへの道 A to Z」というタイトルでは、Twitter に関する基本から応用、各種ツール・サービスの紹介、アンケート等、20ページの特集が組まれています。
Twitter って何?のビギナーからTwitter にハマっている方まで楽しめる内容です。

そして本誌には、先日講師を務めさせて頂いた「WebSig 24/7」の紹介および、先日行われた「第14回WebSig会議『Movable Type 4 のポテンシャルを探る』」のイベントレポートが掲載されています。
イベントレポートは「世界中の1%の人々へ」の蒲生さんが執筆を担当されています。

Comments [0] | Trackbacks [0]

水道料金

October 28,2007 12:23 AM
Category:[小品文]
Tag:[]
Permalink

最近の大ボケネタをひとつ。

今年4月に引っ越した時、電気やガス等の公共料金の支払いは、銀行からの自動引き落としの手続きを行ったのですが、水道料金(上水道・下水道)だけは手続きし損ねて、請求書が来るたびに振り込んでました。

ただ、こういう振込み作業がどうも苦手で、間際になって払い込んだり、期日を過ぎてから支払うといった事が、繰り返し続いてました。

そうしているうちに、最近、水道局(上水道)から一通のハガキがきました。いつも来るハガキよりものものしい印象です。

中を見ると、水道停止の通知でした。どうも一か月分だけ振込みもれがあったようで、慌ててハガキを探して銀行に振込みにいきました(コンビニでは期限切れの分は取り扱ってくれず)。

水道は、電気やガスに比べて生活に重要なものなので、停止させられる時期が一番遅いはずなのですが…。

支払いが終わって一安心、と思ったら、今度は下水道から何か通知が来ました。

「こっちも払い忘れか…」と思って中を見ると、

こちらはある月の分を重複してお金を振り込んでしまったようです。

ダメダメですね…(-"-;)

Comments [2] | Trackbacks [0]

リスクの大きい

October 27,2007 1:20 AM
Category:[ダジャレ]
Tag:[]
Permalink
Comments [0] | Trackbacks [0]

MTIf タグの like 属性について

October 26,2007 1:38 AM
Category:[テンプレートタグ]
Tag:[, ]
Permalink

MTIf タグ(MTUnless タグ)の like 属性について、利用方法を紹介します。

この内容は、先日行われた「WebSig24/7 MT4分科会 第1回イベント『WebSig24/7 2007年秋 MT4の日』」で頂いたご質問、

  • like 属性に or 演算子のようなものは使えますか?
  • like 属性を使って、title 要素に表示するデータを収集したいのですが?

の回答です。ご返事が遅くなりましたこと、この場をお借りしてお詫びいたします。

1.like 属性の機能

MTSetVar タグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数値が、like 属性に記述された文字列とマッチする場合に実行します。

また、属性値には perl の正規表現を使うことができます(厳密には、属性値は正規表現としてしか扱われません)。

2.ソースコード

lib/MT/Template/ContextHandlers.pm の MTIf タグ(MTUnless タグ)の like 属性の処理は下の青色部分です。

sub _hdlr_if {
    my ($ctx, $args, $cond) = @_;
    my $var = $args->{name} || $args->{var};
    my $value = $ctx->var($var);
      :
    } elsif (exists $args->{like}) {
        my $re = eval { qr/$args->{like}/ };
        return defined($value) && ($value =~ m/$re/) ? 1 : 0;
    }
      :
}

$args->{like} には like の内容が設定されており、内容が存在すれば変数 $re に代入します。この時、「qr// 演算子」を用いて、like の内容を正規表現として代入しています。
その後、m// 演算子を用いて、$value(事前に取得されたもの)とのパターンマッチの結果(1 または 0)を返却します。

3.サンプル1

MTSetVar タグで、変数 hoge の値に "foo" を設定しています。
MTIf タグでは hoge に "f" が含まれていたらブロック内を実行します。この場合は含まれているので、ブロック内の MTGetVar を実行します。

<$mt:setvar name="hoge" value="foo"$>
 
<mt:if name="hoge" like="f">
    <$mt:getvar name="hoge"$>
</mt:if>

Perl で書くと、多分下記のようになります。

my $hoge = 'foo';
 
if ($hoge =~ m/f/) {
    print $hoge;
}

4.サンプル2

MTSetVar タグで、変数 hoge の値に "foo" を設定しています。
MTIf タグでは hoge に "foo" または "var" が含まれていたらブロック内を実行します。この場合は含まれているので、ブロック内の MTGetVar を実行します。

<$mt:setvar name="hoge" value="foo"$>
 
<mt:if name="hoge" like="foo|var">
    <$mt:getvar name="hoge"$>
</mt:if>

Perl で書くと、多分下記のようになります。

my $hoge = 'foo';
 
if ($hoge =~ m/foo|var/) {
    print $hoge;
}

4.サンプル3

ブログ記事リストのタイトルに "foo" または "var" が含まれているものだけを表示します。

<MTEntries>
<mt:setvarblock name="entrytitle"><$MTEntryTitle$></mt:setvarblock>
<mt:if name="entrytitle" like="foo|var">
<$mt:getvar name="entrytitle"$>
</mt:if>
</MTEntries>

Perl で書くと、多分下記のようになります。

for my $entrytitle (@entries) {
    if ($entrytitle =~ m/foo|var/) {
        print $entrytitle;
    }
}

冒頭の2つめのご質問に適用する場合、このブロック全体を tilte 要素で括れば、ある程度期待する表示にできると思います。質問の解釈が誤ってましたら再度ご連絡ください。

5.参考

Comments [0] | Trackbacks [0]

コメント投稿フォームをデフォルトで表示する&「匿名でコメントすることもできます。」の文言を修正する

October 25,2007 1:13 AM
Category:[コメント]
Tag:[, , ]
Permalink

Movable Type 4 のコメント投稿フォームの表示方法と、「匿名でコメントすることもできます。」の文言を変更するカスタマイズを紹介します。

1.コメント投稿フォームの違い

コメント投稿フォームの表示は、ブログ管理画面の「設定」→「ブログの設定」→「登録/認証」の「認証方式」(下)のチェック状態によりいくつかのパターンがあります。

認証方式選択画面

1.1 認証方式で「認証なしコメント」のみ選択している場合

コメント投稿フォームはデフォルトで表示されます。

「認証なしコメント」のみ選択している場合

1.2 認証方式で「認証なしコメント」以外を選択している場合

コメント投稿フォームはデフォルトで非表示となります。

「認証なしコメント」以外を選択している場合

サインインすることでコメント投稿フォームが表示されます。認証されたので、「名前」および「電子メール」入力フィールドは表示されません。

「認証なしコメント」以外を選択している場合(サインイン後)

1.3 認証方式で「認証なしコメント」と任意の認証方式を選択している場合

コメント投稿フォームはデフォルトで非表示となります。

「認証なしコメント」と任意の認証方式を選択している場合

サインインすることでコメント投稿フォームが表示されます。認証されたので、「名前」および「電子メール」入力フィールドは表示されません。

「認証なしコメント」と任意の認証方式を選択している場合(サインイン後)

または「匿名でコメントすることもできます。」のリンクをクリックすればコメント投稿フォームが表示されます。

「認証なしコメント」と任意の認証方式を選択している場合(「匿名でコメントすることもできます。」のリンクをクリック後)

2.「匿名でコメントすることもできます。」の文言を修正する

「認証方式」の選択状態が1.3項の場合、コメント投稿フォームに「匿名でコメントすることもできます。」のリンクが表示されます。

たしかに名前欄を未記入で投稿することはできますが、このリンクの文言は、厳密には「認証なしでコメントすることもできます。」が正しいように思われます(その後で、さらに匿名投稿の選択の余地がある)。

ということで、この文言の変更方法です。

ブログ管理画面の「デザイン」→「テンプレート」で「インデックステンプレート」の一覧を表示し、テンプレート名の「JavaScript」をクリックします。

その中に

document.write('<a href="<$MTCGIPath$><$MTCommentScript$>?__mode=login&entry_id=' + entry_id + '&blog_id=' + blog_id + '&static=1">サインイン' + '</a>' + 'してからコメントしてください。 <a href="javascript:void(0);" onclick="showAnonymousForm();">匿名でコメントすることもできます。</a>');

という行がありますので、赤色部分を「認証なしでコメントすることもできます。」等に書き換えて、「保存と再構築」をクリックします。

修正後、下記のようになります。

テンプレート修正後

3.コメントフォームを常に表示する

「認証方式」の選択状態が1.3項の場合でコメントフォームを常に表示するには、ブログ管理画面の「デザイン」→「テンプレート」で「インデックステンプレート」の一覧を表示し、テンプレート名の「JavaScript」をクリックします。

その中にある

function individualArchivesOnLoad(commenter_name) {
<MTIfCommentsAccepted>
<MTElse>
    hideDocumentElement('comments-open');
</MTIfCommentsAccepted>
<MTIfPingsAccepted>
<MTElse>
    hideDocumentElement('trackbacks-info');
</MTIfPingsAccepted>
<MTIfRegistrationAllowed>
    <MTIfRegistrationRequired>
    if ( commenter_name &&
         ( !commenter_id
        || commenter_blog_ids.indexOf("'<$MTBlogID$>'") > -1))
    {
        hideDocumentElement('comment-form-name');
        hideDocumentElement('comment-form-email');
        showDocumentElement('comments-open-text');
        showDocumentElement('comments-open-footer');
    } else {
        hideDocumentElement('comments-open-data');
        hideDocumentElement('comments-open-text');
        hideDocumentElement('comments-open-footer');
    }
    <MTElse>
    // comments are allowed but registration not required
    if ( commenter_name &&
         ( !commenter_id
        || commenter_blog_ids.indexOf("'<$MTBlogID$>'") > -1))
    {
        hideDocumentElement('comment-form-name');
        hideDocumentElement('comment-form-email');
    } else if (is_preview) {
        delayShowCaptcha();
    } else {
        hideDocumentElement('comments-form');
    }
    </MTIfRegistrationRequired>
</MTIfRegistrationAllowed>

の赤色部分を、下記のように行頭に "//" を付与して、コメントアウトします。

    } else {
//        hideDocumentElement('comments-form');
    }

CAPTCHA 認証を用いてる場合は、さらに CAPTCHA フィールド表示用の行を追加します。

    } else {
        captcha_timer = setInterval('delayShowCaptcha()', 1000);
//        hideDocumentElement('comments-form');
    }

上記の修正にあわせて、2項で示したテンプレートの「匿名でコメントすることもできます。」のリンク(下記の赤色部分)を削除、または(X)HTMLコメントアウトします。

document.write('<a href="<$MTCGIPath$><$MTCommentScript$>?__mode=login&entry_id=' + entry_id + '&blog_id=' + blog_id + '&static=1">サインイン' + '</a>' + 'してからコメントしてください。 <a href="javascript:void(0);" onclick="showAnonymousForm();">匿名でコメントすることもできます。</a>');

修正後、「保存と再構築」をクリックすれば、コメント投稿フォームは下記のようになります。

テンプレート修正後

投稿フォームが表示されているのに、「サインインしてからコメントしてください。」という文言に違和感を感じる場合は、下記の赤色部分を変更すると良いでしょう。

document.write('<a href="<$MTCGIPath$><$MTCommentScript$>?__mode=login&entry_id=' + entry_id + '&blog_id=' + blog_id + '&static=1">サインイン' + '</a>' + 'してからコメントしてください。 <a href="javascript:void(0);" onclick="showAnonymousForm();">匿名でコメントすることもできます。</a>');

なお、コメントに「認証なしコメント」を適用する場合は、スパムを避けるため、CAPTCHA 機能を併用することをお勧めします。

2008.02.03
CAPTCHA 認証フィールドが表示されない不具合を修正しました。

Comments [8] | Trackbacks [2]

検索機能復活のお知らせ

October 24,2007 12:02 AM
Category:[お知らせ]
Tag:[]
Permalink

サーバ移転以降、右サイドバーにあるサイト内検索が機能していませんでした(検索文字列にマッチするエントリーが全く表示されない)が、本日解決致しました。
ご利用の皆様にはご迷惑おかけ致しました。

また、検索結果画面がデフォルトテンプレートでの表示でしたが、テンプレートを修正してサイトデザインを統一しました。

検索結果が表示されなかった原因は、MT3 で利用していたプラグイン mt-xsearch.pl が有効になっていたためです。これを無効にすることで解決しました。
MT3 で運用していた元サーバから plugins 配下のファイルを丸ごとコピーして、そのままにしていたのがまずかったようです。

今回は検索機能だけでしたが、管理画面系の動作で異常が発生した場合は、全てのプラグインを無効(無効にできない場合は plugins 配下のファイルのバックアップをとってから一旦削除)にして、問題箇所を切り分けると良いでしょう。

Google や Yahoo 検索も併設した方がいいかもと思いました。

Comments [0] | Trackbacks [0]

サイドバーに Google Adsense を貼り付ける

October 23,2007 12:02 AM
Category:[テンプレート]
Tag:[, , ]
Permalink

当サイト配布のテンプレートのサイドバーに Google Adsense(160ピクセル幅)等のバナー広告を設置する方法です。

完成画面

ワイドスカイスクレイパー(160×600)をデフォルト状態のまま設置すると、右サイドバーが中央カラム(あるいは左サイドバー)の下に回りこむ、いわゆるレイアウト崩れが発生します(下)。

カラム崩れが発生

これはサイドバーの表示幅に、それを超える画像やバナー類を設置しているためで、CSS の float プロパティの性質上、レイアウトが崩れます。

以下、テンプレートの修正方法です。ご利用のテンプレートによって表示内容が若干異なりますが、基本構造は同じです。

1.サイドバーの幅を修正

サイドバーの全体幅はデフォルトで 185px に設定していますが、左右余白分の 30px(15px × 2) が含まれているので、実際の表示領域幅はデフォルトで 155px となります。したがって、160px 幅のバナー類を設置するためには全体幅を 190px に変更する必要があります。

レイアウトによって変更箇所が異なるので、以下の説明にしたがって該当箇所を修正してください。

1.1 3カラム固定レイアウト

3カラム固定レイアウトの場合、下記のセレクタの width プロパティを 185px から 190px に変更します。

.layout-three-column #links-left-box,
.layout-three-column #links-right-box {
    float: left;
    width: 190px;
}

1.2 2カラム固定レイアウト(右サイドバー)

2カラム固定レイアウト(右サイドバー)の場合、下記のセレクタの width プロパティを 185px から 190px に変更します。

.layout-two-column-right #links-right-box {
    float: left;
    width: 190px;
}

1.3 2カラム固定レイアウト(左サイドバー)

2カラム固定レイアウト(左サイドバー)の場合、下記のセレクタの width プロパティを 185px から 190px に変更します。

.layout-two-column-left #links-left-box {
    float: left;
    width: 190px;
}

2.全体のカラム幅を修正

サイドバーのカラム幅が合計10px(2カラムの場合は 5px) 増加した分、全体の横幅を広げます。
逆に、中央カラムの幅を狭くする方法もありますが、ここでは割愛しています。

2.1 3カラム固定レイアウト

3カラム固定レイアウトの場合、下記のセレクタの width プロパティを 850px から 860px に変更します。

/* 3カラム固定レイアウト幅 */
.layout-three-column #box {
    width: 860px;
}

2.2 2カラム固定レイアウト(右サイドバー/左サイドバー)

2カラム固定レイアウト(右サイドバー/左サイドバー)の場合、下記のセレクタの width プロパティを 665px から 670px に変更します。

/* 2カラム固定レイアウト幅 */
.layout-two-column-left #box,
.layout-two-column-right #box {
    width: 670px;
}

ここまでの修正でカラム崩れは発生しなくなります。

3.フッタ幅の修正

2項にあわせてフッタ幅も併せて修正してください(過去の配布テンプレートにはこの設定はありません。ない場合はスキップしてください)。

3.1 3カラム固定レイアウトの場合

3カラム固定レイアウトの場合、下記のセレクタの width プロパティを 850px から 860px に変更します。

.layout-three-column #footer {
    width: 860px;
}

3.2 2カラム固定レイアウト(右サイドバー/左サイドバー)

2カラム固定レイアウト(右サイドバー/左サイドバー)の場合、下記のセレクタの width プロパティを 665px から 670px に変更します。

.layout-two-column-left #footer,
.layout-two-column-right #footer {
    width: 670px;
}

4.広告表示位置の微調整

広告表示用の script 要素を dd 要素(青色)で括り、必要に応じて縦方向のマージンを調整します。

<dd class="adsense">
<script ~></script>
</dd>

スタイルシート(メイン)に下記の設定を追加します。サンプルは下マージンを 10px 設定しています(表示位置によって適宜修正してください)。

dd.adsense {
    margin: 0 0 10px;
}
Comments [0] | Trackbacks [0]

MTSetVarBlock と MTSetVarTemplate の違いについて

Movable Type 4 では、MTSetVar タグや MTSetVarBlock タグを用いた制御が数多く行われています。 本エントリーでは、新たに追加された MTSetVarTemplate タグについて解説します。

1.MTSetVarTemplate タグの機能

MTSetVarTemplate タグで囲まれた内容を、変数として値を設定します。

<MTSetVarTemplate name="foo">
  <!-- do something -->
</MTSetVarTemplate>

なお、MTSetVarTemplate タグは、ドキュメントによれば MT 管理画面での使用が目的らしいので、ユーザのテンプレートで用いる可能性は低いかもしれません。

2.MTSetVarBlock タグとの違い

MTSetVarBlock タグは、ブロック内の内容が処理された結果を値として取得しますが、MTSetVarTemplate タグは、ブロックの内容が MTGetVar、あるいは MTVar タグで呼び出された時点ではじめて評価されます。

3.サンプル

ここでは MTIncludeタグ・MTGetVar タグと組み合わせた、MTSetVarBlock タグと MTSetVarTemplate タグの振舞いの違いを示したいと思います。

3.1 MTSetVarBlock + MTInclude + MTGetVar(OK)

MTSetVarTemplate タグは用いず、アーカイブテンプレートの MTInclude タグが実行された時点で MTEntries 全体が評価されるサンプルです。

アーカイブテンプレート

<$MTInclude module="test"$>
<$MTGetVar name="entries"$>

テンプレートモジュール(test)

<MTSetVarBlock name="entries">
<MTEntries>
<$MTEntryTitle$>
</MTEntries>
</MTSetVarBlock>

3.2 MTSetVarBlock + MTInclude + MTGetVar(NG)

アーカイブテンプレートの MTInclude で MTEntryTitle が評価されますが、評価時点では MTEntryTitle が MTEntries コンテキスト外のため、再構築エラーとなるサンプルです。

アーカイブテンプレート

<$MTInclude module="test"$>
<MTEntries>
<$MTGetVar name="entries"$>
</MTEntries>

テンプレートモジュール(test)

<MTSetVarBlock name="entries">
<$MTEntryTitle$>
</MTSetVarBlock>

3.3 MTSetVarTemplate + MTInclude + MTGetVar(OK)

3.2項の MTSetVarBlock タグを MTSetVarTemplate タグに置き換えることで、アーカイブのMTInclude 時点でMTEntryTitleは評価されず、MTGetVar(=MTEntires ブロック内)で評価されるので、期待通りの動作になります。

アーカイブテンプレート

<$MTInclude module="test"$>
<MTEntries>
<$MTGetVar name="entries"$>
</MTEntries>

テンプレートモジュール(test)

<MTSetVarTemplate name="entries">
<$MTEntryTitle$>
</MTSetVarTemplate>

4.参考:MT4 のデフォルトテンプレート

3項でサンプルをいくつか比較しましたが、実際には、デフォルトテンプレートの MTEntries 関連のタグデザインは下記の通りです。
MTGetVar は用いず、アーカイブテンプレートの MTEntries ブロックに直接 MTInclude が記述され、MTEntryTitleが評価されます。

アーカイブテンプレート

<MTEntries>
<$MTInclude module="test"$>
</MTEntries>

テンプレートモジュール(test)

<$MTEntryTitle$>

5.まとめ

MTSetVarTemplate を用いるケースとして、下記が考えられます。

  • テンプレートモジュールをひとつにまとめたい
  • ブロックタグとファンクションタグのテンプレートを分離したい
  • ファンクションタグのテンプレートモジュールに、複数のバリエーションをもたせる(MTGetVar で振り分ける)

管理画面テンプレートは調査していないので、実際にはもう少し適正な使用方法があるかもしれません。

Comments [0] | Trackbacks [0]

FeedBurner 動画広告テスト配信

October 21,2007 1:13 AM
Category:[]
Tag:[]
Permalink

FeedBurner 社より依頼を受けまして、動画広告テスト配信を開始致しました。
現在、トップページの最新記事下に表示されている「eyeVio」がそうです。

配信スケジュールは、まつゆうさん出演の eyeVioTV が10月末までとなっています。「eyeVio」はソニーが運営している動画配信サービス(下)で、無料会員登録すれば動画のアップロード・ダウンロードや友達とのシェア等ができます。
「Sony版YouTube」といった感じでしょうか。

eyeVio

出かける前に慌てて表示用タグを設定したのですが、マークアップを誤ってしまい、そのため今日1日、トップページの表示が崩れてしまってました。お見苦しい状態が続いてしまい申し訳ありませんでした。

Comments [0] | Trackbacks [0]

ブログ記事の画像挿入時に表示位置を指定しないプラグイン

October 20,2007 12:32 AM
Category:[プラグイン, 画像, 管理画面]
Tag:[, , ]
Permalink

ブログ記事の投稿で、記事内に画像ファイル等を挿入する場合、ファイルの表示位置を指定しないオプションがありません(下)。

オプションなし

このプラグインでは表示位置を指定しないラジオボタンを追加します。

オプションあり

このプラグインは、crema さんの記事を元に作成したものです。

が、やや先に Junnama さんがよりリッチなプラグインを投稿されていました。

私の作成したプラグインは簡素なので、style 属性が設定されなくなるだけです。class 属性の設定は残ります。

1.プラグインのダウンロード

下記のリンクより、プラグイン InsertAssetWithoutStyle をダウンロードしてください。

InsertAssetWithoutStyle.zip

2.プラグインのアップロード

アーカイブを解凍し、解凍した内容を plugins ディレクトリおよびスタティックディレクトリに、それぞれ下記のように配置してください。

mt-static/
  plugins/
    InsertAssetWithoutStyle/
      images/
        align_none.gif
      styles/
        app.css
plugins/
  InsertAssetWithoutStyle.pl

システムメニュー→プラグインで「InsertAssetWithoutStyle 0.0x」が表示されていればOKです。

プラグイン一覧画面

3.利用方法

画像の表示位置を指定したくない場合、冒頭のスクリーンショットのように、位置欄より「なし」を選択します。「設定を記憶」をチェックすれば選択状態を保存することができます。

Comments [2] | Trackbacks [0]

AMN(アジャイルメディア・ネットワーク)に参加しました

October 19,2007 1:00 AM
Category:[AMN]
Tag:[, ]
Permalink

AMN(アジャイルメディア・ネットワーク)右サイドバーに表示されているバナーですでにお気づきの方も多いと思いますが、今月より AMN (アジャイルメディア・ネットワーク)に、推薦により参加させて頂くことになりました。

ちなみに、本エントリー投稿時点(10月19日1時頃)、参加ブロガー一覧に当ブログは掲載されていませんが、インチキではありません。

AMN関連でブログ上に表示されるのは、ヘッダのラージバナー(728x90)とサイドバーの「ブログ・オン・ブログ広告(BonB広告)」の2つで、今のところ「BonB広告」のみ表示しています(いずれラージバナーも掲載させて頂くかもしれません)。

BonB広告の下には、パートナーブログの最新記事がランダムに掲載されるようになっています。
当サイトのダジャレが表示される日も遠くないでしょう(笑)。

Comments [2] | Trackbacks [0]

サイトマップを作る for Movable Type 4

October 18,2007 12:03 AM
Category:[フォルダ]
Tag:[, , , ]
Permalink

Movable Type 4 で新しく追加されたフォルダとウェブページを使って、ウェブサイト内の構成を俯瞰する、いわゆる「サイトマップ」を作成する方法を紹介します。

サイトマップ

上のサイトマップのサンプルは、「フォルダx」がフォルダ名、「ウェブページx」がフォルダ配下に配置されたウェブページを示しています。フォルダの下にあるサブフォルダおよびウェブページは階層化表示されます。

下のタグをテンプレートの任意の位置に貼り付ければ上記のようなサイトマップが表示されます。
フォルダ名は「フォルダのパス」ではなく「フォルダの名前」を表示するようにしています。

<MTTopLevelFolders>
<MTSubCatIsFirst>
<ul>
</MTSubCatIsFirst>
<MTIfNonZero tag="MTFolderCount">
<li><$MTFolderLabel$>
<ul>
<MTPages>
<li><a href="<$MTPagePermalink$>" title="<$MTPageTitle$>"><$MTPageTitle$></a></li>
</MTPages>
</ul>
</MTIfNonZero>
<MTSubFolderRecurse>
</li>
<MTSubCatIsLast>
</ul>
</MTSubCatIsLast>
</MTTopLevelFolders>

フォルダ関連タグはサブカテゴリー関連タグと同じなので、サブカテゴリー関連タグが理解できていれば比較的簡単に扱えるでしょう。

なお、フォルダにはMTSubCatIsFirst/MTSubCatIsLastに対応するタグがないため、サブカテゴリー用のタグで代用しています。


Comments [5] | Trackbacks [0]

「Movable Type WEBデザインの新しいルール」発売

October 17,2007 1:33 AM
Category:[お知らせ, 書籍]
Tag:[, , ]
Permalink

Movable Type WEBデザインの新しいルール」がいよいよ発売になります。

Movable Type WEBデザインの新しいルールMovable Type WEBデザインの新しいルール
荒木 勇次郎 松永 英明

翔泳社 2007-10-17
売り上げランキング : 205

Amazonで詳しく見る
by G-Tools

「16日発売」と聞いていたので、閉店間際に某書店に行ってみたのですが、これから販売の準備をするようでした(下)。誤った情報を流してしまったこと、お詫び申しあげます。

Movable Type WEBデザインの新しいルール

書籍の内容は次の通りです。

Chapter 01 | MovableType でできること
  • 1-1 効果的・効率的にWeb サイトを運営するために有用なCMS
  • 1-2 CMS として使えるブログツールMovableType
  • 1-3 ブログツールでブログらしくないWeb サイトを作るメリット
  • 1-4 複数ブログを組み合わせた企業サイト運営というアイデア
  • 1-5 Movable Type を使ったWeb サイトの紹介
Chapter 02 |はじめてのMovableType
  • 2-1 Movable Type をはじめる際に準備すべきもの
  • 2-2 インストールの概要
  • 2-3 Movable Type4 をダウンロードする
  • 2-4 Movable Type のディレクトリ構成
  • 2-5 サーバへのアップロードとパーミッションの変更
  • 2-6 Movable Type をインストールする
  • 2-7 ブログ記事を投稿・編集する①
  • 2-8 ブログ記事を投稿・編集する②
  • 2-9 ウェブページを作成する
  • 2-10 ファイルをアップロードする
  • 2-11 カテゴリを管理する
  • 2-12 タグを管理する
  • 2-13 アイテムを管理する
  • 2-14 フォルダを管理する
  • 2-15 Movable Type の詳細設定①
  • 2-16 Movable Type の詳細設定②
  • 2-17 ファイルをPHP 化する
  • 2-18 ダイナミック・パブリッシングの概要
  • 2-19 ダイナミック・パブリッシングを設定する
Chapter 03 |サイトの見た目を変えてみよう
  • 3-1 テンプレートとは何か
  • 3-2 テンプレートを編集する
  • 3-3 Movable Type のテンプレート構成
  • 3-4 テンプレートを入れ替えてデザインを変更する
  • 3-5 テンプレート・タグの基礎知識
  • 3-6 テンプレート・タグのカスタマイズ
  • 3-7 CSS(スタイルシート)の基礎知識
  • 3-8 CSS プロパティ一覧
  • 3-9 CSS を変更し、テンプレートのデザインを変える
  • 3-10 背景画像を利用する
  • 3-11 カラムレイアウトを変更する
  • 3-12 カラムサイズを変更する
  • 3-13 サイドバーの情報をフッタメニューに追加する
Chapter 04 |サイトの構成とMT の設定
  • 4-1 Web サイトの構造を設計する
  • 4-2 ウェブページを使ってカタログ型サイトを作成する
  • 4-3 ブログ記事の保存先を変更してカタログ型サイトを作成する
  • 4-4 必要のないテンプレートタグを削除する
  • 4-5 他のブログツールとMovable Type を組み合わせて使用する
Chapter 05 |効果的なサイトへのカスタマイズ
  • 5-1 グローバルナビゲーションでページを切り替える
  • 5-2 パンくずリストを表示する
  • 5-3 コメントリスト・トラックバックリストをブログ記事ごとにツリー表示する
  • 5-4 Feed アイコン・バナーリンクを追加する
  • 5-5 カテゴリーリストにエントリーを表示する
  • 5-6 ブログ記事に同一カテゴリーのブログ記事リストを表示する
  • 5-7 ソーシャルブックマークリンクを追加する
  • 5-8 タグによる効果的なカスタマイズ
  • 5-9 メールフォームを設置する
  • 5-10 SEO 対策とMovable Type
  • 5-11 サイトマップを作り、Google ウェブマスターツールに登録する
  • 5-12 更新PING を送り、アクセスを集めやすくする
  • 5-13 アクセス解析ツールを設置する
  • 5-14 他のブログの更新情報を自動的に掲載する
  • 5-15 Web サイト引っ越しの場合の告知方法
Chapter 06 |効率的なブログの管理
  • 6-1 PHP モジュール化とAjax モジュール化
  • 6-2 コメント・トラックバックの管理
  • 6-3 アーカイブマッピングとアーカイブテンプレートの作成
  • 6-4 スケジュール・タスクを設定する
  • 6-5 管理系フィードを利用する
  • 6-6 フィードウィジェットでフィードをブログに表示する
  • 6-7 複数ブログの作成・管理とブログの複製
  • 6-8 ポータル・ブログを構築する
  • 6-9 複数ユーザーを管理する
  • 6-10 ブログデータのインポート・エクスポート
  • 6-11 ブログのバックアップと復元
  • 6-12 Movable Type のアップグレード
  • Movable Type テンプレート・タグ・リファレンス

私が執筆を担当させて頂いたのは、Chapter 02 の2-2~2-19、Chapter 03、Chapter 05の5-1~5-9、Chapter 06、Movable Type テンプレート・タグ・リファレンス、です。

先日講師を担当させて頂いた「WebSig24/7 MT4分科会 第1回イベント」では、MTIf と MTSetVar による条件分岐が話題になりましたが、その技も入っています。

例えば「5-2 パンくずリストを表示する」では、これまで PHP で制御していたパンくずリストを、MT タグだけで各アーカイブに対応させています。

また、本書でMTのブログ別管理画面で触れていない項目は、「デザイン」→「スタイル」と「デザイン」→「ウィジェットセット」「設定」→「アドレス帳」の3つだけだと思います。これらを除いた他のほぼ全ての操作について網羅しています(多分)。
なおシステムメニューについては一部端折ってますので予めご了承ください。

Comments [14] | Trackbacks [3]

サーバ移転メモ & Movable Type 4.01 バージョンアップ

October 16,2007 12:30 PM
Category:[お知らせ]
Tag:[, ]
Permalink

レンタルサーバを「さくらインターネット」から「coreserver」に移転しました。

DNSを変更したのは10月14日(日)の夜です。
このエントリーは新サーバ側のみに投稿していますので、このエントリーが表示されていれば新サーバ側のブログになっています。

また、Movable Type は新サーバに新規インストール致しまして、現在のバージョンは 4.01 になっています。

以下、簡単なサーバ移転メモです。概ね時系列に並べていますので、参考になれば幸いです。
旧サーバのMTのバージョンは 3.21-ja です。

旧サーバ側の作業(MT3.21-ja)
  • コメント・トラックバックのCGI停止
  • コメントに連続したハイフンを検索機能で検索し、実体参照(または"=")に変更
  • 異なるカテゴリー配下の同名のカテゴリーがインポート時に合成されないよう、名称変更
  • データのエクスポート
  • 画像ファイル・プラグインファイル・サンプルデータ・ダウンロードファイル等をFTPでローカルPCにダウンロード
新サーバ側の作業(MT4.01-ja)
  • MT4.01のインストール、CGIのパーミッション変更
  • coreserverドメインで試験エントリー等の表示確認
  • 画像ファイル・プラグインファイル・サンプルデータ・ダウンロードファイル等をFTPでアップロード
  • データのインポート →実際にはサイズが大きすぎて正常に読み込めなかったので、分割して読み込み。その際改行文字コードをLFにすること(誤ってCRLFで保存してしまったファイルは全く読み込まれず)
  • 旧サーバのテンプレートを全てコピー(急いでいたのでデフォルトの構成は利用していません)
  • mt-site.js のインクルードを mt.js に変更
  • コメント・トラックバックの設定を、旧サーバの設定と同じ内容に変更(TypeKeyは後)
  • お試し再構築。MT4に対応していない拡張テンプレートタグの削除
  • 確認用に設定していた「サイトURL」をcoreserverドメインから正規のドメイン(http://www.koikikukan.com/)に変更して、再度再構築(これ以降はDNSが反映されるまで新サーバ側のブログは参照できなくなる)
DNS設定変更:1日程度で新サーバのアドレス反映。
新サーバ側の作業(DNS変更後)
  • PHPエラー等、表示の不具合を何箇所か修正
  • 更新PING設定、TypeKey設定
  • コメントテンプレートのフォーム修正
  • システムテンプレート(コメントプレビュー・コメントエラー・検索結果画面)入れ替え(未)
  • 検索機能確認(未)
  • タグ検索機能確認(未)
  • スケジュールタスク実行(未)
  • サブカテゴリーの再編成(未)
  • 自作CGIの動作確認(未)

表示の不具合やデッドリンク等、何かありましたらご連絡ください。

また、PHPは以前のCGI版からモジュール版で動作するように変更されておりますので、表示に関して「軽くなった」「重くなった」という感想もお待ちしています。

Comments [15] | Trackbacks [0]