<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>光陽マーリンズ Website ひっそりと監督のメモ公開中</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/" />
    <link rel="self" type="application/atom+xml" href="http://koyo-marlins.biz/blog/atom.xml" />
    <id>tag:koyo-marlins.biz,2008-08-24:/blog//10</id>
    <updated>2007-12-14T05:05:08Z</updated>
    <subtitle>このサイトならびにインターネット関連の技術メモや、そして時々、監督としてのドッジボールや健全育成について思ったことなどを書いています。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.21-ja</generator>

<entry>
    <title>リアルタイムに他サイトのFeedを表示する（2）：リアルタイム再構築プラグイン</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/12/feed2.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.286</id>

    <published>2007-12-14T05:01:22Z</published>
    <updated>2007-12-14T05:05:08Z</updated>

    <summary>リアルタイムに他サイトのFeedを表示するには、藤本壱氏のThe blog of...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>リアルタイムに他サイトのFeedを表示するには、藤本壱氏の<a href="http://www.h-fj.com/blog/">The blog of H.Fujimoto</a>のリアルタイム再構築プラグインを使う方法があります。</p>

<p>具体的な方法は、<a href="http://www.h-fj.com/blog/archives/2007/09/05-174536.php">リアルタイム再構築プラグイン（MT4専用版・その1）</a>をお読み下さい。</p>

<p>なお、解説ページは、その1からその4まであります。</p>]]>
        
    </content>
</entry>

<entry>
    <title>リアルタイムに他サイトのFeedを表示する（1）：jsRSS</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/12/feed2jsrss.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.285</id>

    <published>2007-12-14T04:56:49Z</published>
    <updated>2007-12-14T05:05:44Z</updated>

    <summary>このサイトで使っているBBSは、Movable Typeとは別のCGIプログラム...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>このサイトで使っているBBSは、Movable Typeとは別のCGIプログラムを使っています。このBBSはFeedを出力できるので、そのFeedを読み込んでトップページで表示させています。</p>

<p>他サイトのFeedを読み込んで表示するにはいくつかの方法があります。</p>

<p>Movable Type 4には、FeedAppLiteというプラグインがインストールされており、簡単にFeedを表示するテンプレートが作れますが、このテンプレートを再構築しない限り、最新の情報に更新されません。</p>

<p>ここでは、FeedAppLiteを使わずに、<a href="http://www.daikoku-ya.org/">大黒屋本舗</a>で公開されている、<a href="http://www.daikoku-ya.org/blog/2005/12/29/">jsRSS++ v3.15</a>というCGIを使ってリアルタイムにFeedを表示させています。</p>

<p>大黒屋本舗からCGIをダウンロードして、任意のフォルダにアップロードし、テンプレートを好みにあわせて書き換えればいいだけで、非常に簡単に行えます。<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>PHP モジュール化とAjax モジュール化</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/12/php-ajax.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.276</id>

    <published>2007-12-04T15:45:43Z</published>
    <updated>2007-12-09T04:08:56Z</updated>

    <summary>活動レポートのエントリーページのサイドカラムに最近の活動として最近のエントリーリ...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>活動レポートのエントリーページのサイドカラムに最近の活動として最近のエントリーリストを表示しています。</p>

<p>これはAjaxを使ってあらかじめ記事の更新のたびに再構築されたテンプレートを読み込んでいるものです。</p>

<p>詳しくは、「Movable Type WEBデザインの新しいルール」（翔永社：刊、荒木 勇次郎・松永 英明：共著）をご覧ください。</p>

<div class="hreview" ><a class="item url" href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4798112461%26tag=goodpic-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4798112461%253FSubscriptionId=0G91FPYVW6ZGWBH4Y9G2"><img src="http://ecx.images-amazon.com/images/I/21PAKfTuB0L.jpg" alt="photo" class="photo"  /></a><dl ><dt class="fn"><a class="item url" href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4798112461%26tag=goodpic-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4798112461%253FSubscriptionId=0G91FPYVW6ZGWBH4Y9G2">Movable Type WEBデザインの新しいルール</a><img src='http://www.assoc-amazon.jp/e/ir?t=goodpic-22&l=ur2&o=9' width='1' height='1' border='0' alt='' /></dt><dd>荒木 勇次郎 松永 英明 </dd><dd>翔泳社 2007-10-17</dd></dl><p class="gtools" >by <a href="http://www.goodpic.com/mt/aws/index.html" >G-Tools</a> ,  <abbr class="dtreviewed" title="2007/12/09">2007/12/09</abbr></p></div>

<p>また、概要については、荒木氏のサイト<a href="http://www.koikikukan.com/">小粋空間</a>に<a href="http://www.koikikukan.com/archives/2007/07/30-025050.php">Ajax によるモジュール化</a>という記事で紹介されています。</p>

<p>よく似た方法で、藤本壱氏の<a href="http://www.h-fj.com/blog/">The blog of H.Fujimoto</a>で紹介されている<a href="http://www.h-fj.com/blog/archives/2006/09/23-123426.php">リアルタイム再構築プラグイン(その1)</a>を使うことでも実現できます。</p>

<p>解説が掲載された「AjaxとPHPによるMovableType高速&最強システム構築法（技術評論社：刊、藤本壱：著）」という書籍がありますので参考まで。</p>

<div class="hreview" ><a class="item url" href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4774131504%26tag=goodpic-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4774131504%253FSubscriptionId=0G91FPYVW6ZGWBH4Y9G2"><img src="http://ecx.images-amazon.com/images/I/31ELy9otXaL.jpg" alt="photo" class="photo"  /></a><dl ><dt class="fn"><a class="item url" href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4774131504%26tag=goodpic-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4774131504%253FSubscriptionId=0G91FPYVW6ZGWBH4Y9G2">AjaxとPHPによる MovableType高速&最強システム構築法</a><img src='http://www.assoc-amazon.jp/e/ir?t=goodpic-22&l=ur2&o=9' width='1' height='1' border='0' alt='' /></dt><dd>藤本 壱 </dd><dd>技術評論社 2007-07-04</dd></dl><p class="gtools" >by <a href="http://www.goodpic.com/mt/aws/index.html" >G-Tools</a> ,  <abbr class="dtreviewed" title="2007/12/09">2007/12/09</abbr></p></div>]]>
        
    </content>
</entry>

<entry>
    <title>RenameLabel Plugin</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/12/renamelabel-plugin.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.275</id>

    <published>2007-12-04T15:37:37Z</published>
    <updated>2007-12-04T15:44:17Z</updated>

    <summary>MovableTypeに限らず汎用のCMSやブログでは、管理画面は、慣れないユー...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>MovableTypeに限らず汎用のCMSやブログでは、管理画面は、慣れないユーザーには優しいものではありません。</p>

<p>本文や続きといったラベルはまだしも、タグやカテゴリ、キーワードといったラベルでは取っ付き難かったり、それらのフィールドを使ってURLを入力させたりする場合、管理者以外ではマニュアルでもなければ理解できません。</p>

<p>そこで、<a href="http://labs.m-logic.jp/">エムロジック放課後プロジェクト</a>で公開されている、<a href="http://labs.m-logic.jp/2007/08/movabletyperenamelabel_pluginv_1.html">RenameLabel Plugin</a>を使ってラベルの付け替えをしています。</p>]]>
        
    </content>
</entry>

<entry>
    <title>オリジナルのスタイルを作成する</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/12/post-2.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.273</id>

    <published>2007-12-01T08:51:32Z</published>
    <updated>2007-12-01T09:37:54Z</updated>

    <summary>Movable Type 4 では、スタイルを選択することによりデザインを変える...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>Movable Type 4 では、スタイルを選択することによりデザインを変えることができます。</p>

<p>管理画面の「デザイン」から「スタイル」を選択すると、「規定のスタイル」の他、「MT 4 スタイルライブラリ」からも新しいスタイルをダウンロードして使うことができます。</p>

<p>ここではオリジナルに作成したスタイルを、登録して利用する手順を紹介します。このサイトでも同様の方法でスタイルを適用しています。</p>

<p>オリジナルのスタイルを一から作成するよりも、気に入ったスタイルを真似て作るのが手っ取り早いと思います。</p>

<p>基本的には、デフォルトのスタイルシート(ベーステーマ:base_theme.css)の変更箇所を上書きするようなスタイルシートを作成することになります。こうすることでデフォルトのスタイルと互換性をもたせることで、デフォルトテンプレートに手を加えず、カスタマイズが可能になりますし、後々の変更も容易になります。</p>

<p>ちなみに、スタイルシート(メイン:styles.css)は、ベーステーマ（base_theme.css)を読み込む役目のスタイルシートです。</p>]]>
        <![CDATA[<ol>
<li>スタイルを保存するフォルダは、MT→mt-static→support→themesに、作成します。例えばmarlinsという名前をつけたフォルダを作成します。</li>
<li>独自に作成したフォルダの中に、上書きするスタイルシートを、例えばmarlins.cssという名前をつけて保存する他、スタイルシートから読み込む画像も保存します。</li>
<li>スタイルシートの中に、
<pre><code>
@charset&nbsp;&quot;shift_jis&quot;;
/*
name:&nbsp;Marlins&nbsp;(独自スタイルの名前：なんでもよい)
designer:&nbsp;Hironori&nbsp;Shikida&nbsp;(独自スタイルの作成者：なんでもよい)
designer_url:&nbsp;http://koyo-marlins.biz/&nbsp;(独自スタイルの作成者のサイトURL：なんでもよい)
layouts:&nbsp;layout-wtt,&nbsp;layout-twt,&nbsp;layout-wt,&nbsp;layout-tw&nbsp;(独自スタイルのレイアウト：後述)
*/
</code></pre>
と記述します。</li>
</ol>

<p>layouts: に書いてある、layout-wtt, layout-twt, layout-wt, layout-tw は、適用できるカラムレイアウトの種類です。</p>

<ul>
<li>layout-wttは3カラムで大少少</li>
<li>layout-twtは3カラムで少大少</li>
<li>layout-wtは2カラムで大少</li>
<li>layout-twは3カラムで少大</li>
</ul>

<p>です。</p>

<p>Movable Type 4 では、ネガネィブマージンという手法で、メインカラム（大：id="alpha"）が必ず先に来るようになっています。そのためスタイルシートの中に、</p>

<p>/* Wide-Thin-Thin */<br />
.layout-wtt #alpha {<br />
	width: 400px;<br />
}<br />
.layout-wtt #beta {<br />
	width: 190px;<br />
	margin-left: 30px;<br />
}<br />
.layout-wtt #gamma {<br />
	width: 190px;<br />
	margin-left: 30px;<br />
}<br />
/* Thin-Wide-Thin */<br />
.layout-twt #alpha {<br />
	margin-left: 220px;<br />
	width: 400px;<br />
}<br />
.layout-twt #beta {<br />
	margin-left: -620px;<br />
	width: 190px;<br />
}<br />
.layout-twt #gamma {<br />
	margin-left: 30px;<br />
	width: 190px;<br />
}<br />
/* Wide-Thin */<br />
.layout-wt #alpha {<br />
	width: 610px;<br />
}<br />
.layout-wt #beta {<br />
	width: 190px;<br />
	margin-left: 40px;<br />
}<br />
/* Thin-Wide */<br />
.layout-tw #alpha {<br />
	margin-left: 230px;<br />
	width: 610px;<br />
}<br />
.layout-tw #beta {<br />
	margin-left: -840px;<br />
  width: 190px;<br />
}</p>

<p>と、それぞれのレイアウトに対応してカラムサイズと配置を記述しておくいことで、先ほどの、layouts: に書かれた内容が適用できるようになります。</p>]]>
    </content>
</entry>

<entry>
    <title>カテゴリーを並べ替えるプラグイン</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/10/post-1.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.239</id>

    <published>2007-10-30T13:41:48Z</published>
    <updated>2007-10-30T13:46:42Z</updated>

    <summary>リンク集のページではカテゴリーを並び替えるために、The blog of H.F...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>リンク集のページではカテゴリーを並び替えるために、<a href="http://www.h-fj.com/blog/">The blog of H.Fujimoto</a>の<a href="http://www.h-fj.com/blog/archives/2007/08/28-114447.php">カテゴリーとフォルダを並べ替えるプラグイン（MT4専用）</a>を利用しています。</p>

<p>プラグインをダウンロードしてアップロードし、管理画面にログインすれば自動的にデータベースのアップロードがされてすぐにインストールが完了します。</p>]]>
        
    </content>
</entry>

<entry>
    <title>IE6で透過pngを扱うjsライブラリ</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/10/ie6pngjs.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.178</id>

    <published>2007-10-18T11:28:28Z</published>
    <updated>2007-10-30T13:53:34Z</updated>

    <summary>トップページで透過pngを使用していますが、IE6以前では透過されません。 そこ...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Webデザイン" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>トップページで透過pngを使用していますが、IE6以前では透過されません。</p>

<p>そこで、<a href="http://blog.webcreativepark.net/2007/02/01-233315.html">アルファ画像を扱うalphafilter.jsライブラリ[to-R]</a>で紹介されているalphafilter.jsを使用しています。</p>

<p>head要素内に</p>

<pre><code>&lt;script&nbsp;type=&quot;text/javascript&quot;&nbsp;src=&quot;alphafilter.js&quot;&gt;&lt;/script&gt;</code></pre>

<p>とライブラリを読み込み、</p>

<pre><code>
&lt;p&nbsp;class=&quot;alphafilter&quot;&gt;&lt;img&nbsp;alt=&quot;&quot;&nbsp;src=&quot;http://koyo-marlins.biz/img/hogehoge.jpg&quot;&nbsp;/&gt;&lt;/p&gt;
</code></pre>

<p>としています。</p>]]>
        
    </content>
</entry>

<entry>
    <title>年度別アーカイブを生成するためのMT4専用プラグイン</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/10/mt4.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.169</id>

    <published>2007-10-12T16:25:01Z</published>
    <updated>2007-10-17T05:37:48Z</updated>

    <summary>Movable Type 4 からは、年別アーカイブがプラグインなしで実現できま...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>Movable Type 4 からは、年別アーカイブがプラグインなしで実現できますが、実際には年度別での利用が多いのでは。</p>

<p>このサイトでは、年度別アーカイブを作成する拡張プラグインを使っています。</p>

<p>詳細は、<a href="http://as-is.net/blog/archives/001269.html">FiscalYearlyArchives Plugin 0.01公開 - Ogawa::Memoranda</a>をご覧ください。</p>

<p>なお、現時点ではバージョンが0.03になっています。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Google Sitemaps に URL の更新 ping を送信する</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/10/google-sitemaps-url-ping.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.168</id>

    <published>2007-10-12T15:52:53Z</published>
    <updated>2007-10-30T13:54:49Z</updated>

    <summary>Google SitemapsにURLの更新pingを送信する、MTGoogle...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>Google SitemapsにURLの更新pingを送信する、MTGoogleSitemapsPingを利用しています。</p>

<p>詳しくは、<a href="http://www.magicvox.net/archive/2006/05201647/">Google Sitemapsへの更新通知を自動化するMovableTypeプラグイン - Open MagicVox.net</a>をご覧ください。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Ajax 月送りカレンダー（MT4版）</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/10/ajax.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.167</id>

    <published>2007-10-12T15:50:16Z</published>
    <updated>2007-10-17T05:36:48Z</updated>

    <summary>ブログページでは小粋空間: Ajax 月送りカレンダー（MT4版）を利用していま...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>ブログページでは小粋空間: Ajax 月送りカレンダー（MT4版）を利用しています。</p>

<p>使用するスクリプトは</p>

<ul>
<li><a href="http://prototype.conio.net/"><code>prototype.js</code></a></li>
<li><a href="http://www.koikikukan.com/archives/download/ajaxCalendar/2.01/ajaxCalendar.js"><code>ajaxCalendar.js</code></a></li>
<li><a href="http://www.koikikukan.com/archives/2006/03/15-003030.php"><code>dayChecker.js</code></a></li>
</ul>

<p>です。</p>

<p>詳しくは、<a href="http://www.koikikukan.com/archives/2007/08/18-033333.php">小粋空間: Ajax 月送りカレンダー（MT4版）</a>をご覧ください。</p>]]>
        
    </content>
</entry>

<entry>
    <title>新着記事にNewマーク表示</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/10/new.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.166</id>

    <published>2007-10-12T15:49:15Z</published>
    <updated>2007-10-17T05:36:15Z</updated>

    <summary>小粋空間で紹介されていた小技を使っています。...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p><a href="http://www.koikikukan.com/archives/2006/02/20-235151.php">小粋空間で紹介されていた小技</a>を使っています。</p>]]>
        <![CDATA[<p>まず次のスクリプトを作りnew.jsとして保存<br />
<pre><code>// passage time <br />
var pass = 168; </p>

<p>// display content <br />
var content = 'New'; </p>

<p>var currentDate = new Date(); <br />
var spans = document.getElementsByTagName('span'); <br />
for (i = 0; i < spans.length; i++) { <br />
    if(spans[i].getAttribute('class') == 'new' || <br />
       spans[i].getAttribute('className') == 'new') { <br />
        time = spans[i].innerHTML.split(":");<br />
        var entryDate = new Date(time[0], time[1]-1, time[2], time[3], time[4], time[5]); <br />
        var now = (entryDate.getTime() - currentDate.getTime())/(60*60*1000); <br />
        now = Math.ceil(now); <br />
        if(-now <= pass){ <br />
            spans[i].innerHTML = content; <br />
            spans[i].style.display = 'inline'; <br />
        } <br />
    } <br />
} </code></pre></p>

<p>テンプレート中にNewマークを表示させるためのタグを<br />
<pre><code><br />
&lt;span class=&quot;new&quot;&gt;&lt;$MTEntryDate format=&quot;%Y:%m:%d:%H:%M:%S&quot;$&gt;&lt;/span&gt;<br />
</code></pre><br />
として埋め込み、</p>

<p>テンプレートの最後の部分に（本サイトではフッタの直下）<br />
<pre><code><br />
&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;$MTBlogURL$&gt;new.js&quot;&gt;&lt;/script&gt;<br />
</code></pre><br />
と記述。</p>

<p>最後にcssに<br />
<pre><code>/* New表示用 */<br />
span.new {<br />
	background: #fff;<br />
	color: red;<br />
	font-size: small;<br />
	display: none;<br />
}</code></pre>と記述。</p>

<p>テンプレートに埋め込んだ日付を&lt;span class=&quot;new&quot;&gt;で囲み、cssとjavascriptで表示・非表示切り替えているわけです。</p>]]>
    </content>
</entry>

<entry>
    <title>メールフォーム</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/10/post.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.165</id>

    <published>2007-10-12T15:44:11Z</published>
    <updated>2007-10-17T05:35:44Z</updated>

    <summary>メールフォームをCGIではなくプラグインで行なっています。 詳しくは、The b...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>メールフォームをCGIではなくプラグインで行なっています。</p>

<p>詳しくは、The blog of H.Fujimotoの<a href="http://www.h-fj.com/blog/archives/2007/05/30-093013.php">メールフォームプラグインV1.30（その1・概要）</a>をご覧ください。</p>

<p>エントリーは1から12までありますが、基本は1から10まで、ajax化する場合は11も、さらにサイドバーへ表示する方法は12で書かれています。</p>

<p>メールフォームプラグインと、補助的に使用するGetQueryParamプラグインは、以下からダウンロードすることができます。ajax化する場合はprototype.jsもダウンロードします。また、ajaxのロード中に表示する画像はajaxload.infoというサイトで作成したものを使用しています</p>

<ul>
<li><a href="http://www.h-fj.com/mt_plugin/MailForm_1_30.zip">MailForm_1_30.zip</a></li>
<li><a href="http://www.h-fj.com/mt_plugin/GetQueryParam_1_10.zip">GetQueryParam_1_10.zip</a></li>
<li><a href="http://www.prototypejs.org/">prototype.jsのサイト（英語）</a></li>
<li><a href="http://www.ajaxload.info/">ajaxload.info（ajaxロード画像作成サイト）</a></il>
</ul>

<p>なお、XHTML 1.0 Transitionalの場合はそのままでかまいませんが、Strictの場合は、テンプレートとスクリプトに若干の変更を加えます。</p>]]>
        <![CDATA[<p>form要素にはname属性が使えませんからid属性に置き換えます。具体には、</p>

<pre>
<code>
&lt;form method=&quot;post&quot; action=&quot;&lt;$MTCGIPath$&gt;plugins/MailForm/mt-mail-form.cgi&quot; name=&quot;mail_form&quot;&gt;
</code>
</pre>

<p>を、</p>

<pre>
<code>
&lt;form method=&quot;post&quot; action=&quot;&lt;$MTCGIPath$&gt;plugins/MailForm/mt-mail-form.cgi&quot; id=&quot;mail_form&quot;&gt;
</code>
</pre>

<p>と書き換えます。</p>

<p>次に、「document.mail_form」では、form要素のname属性の値を得ることになり、id属性の値が得られないためスクリプトエラーになります。そのため、「document.name属性の値」ではなく、「document.forms['id属性の値']」としてやる必要があります。オリジナルのコードは、</p>

<pre>
<code>
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
function mail_ajax(mode)
{
    $(&quot;send_status&quot;).style.display = 'block';
    document.mail_form.mail_preview.disabled = true;
    document.mail_form.mail_post.disabled = true;
    var params = Form.serialize(&quot;mail_form&quot;);
    if (mode == &quot;post&quot;) {
        params += &quot;&amp;mail_post=1&quot;;
    }
    else if (mode == &quot;preview&quot;) {
        params += &quot;&amp;mail_preview=1&quot;;
    }

<p>    new Ajax.Request(&quot;&lt;$MTCGIPath$&gt;plugins/MailForm/mt-mail-form.cgi&quot;,<br />
                     { method : &quot;post&quot;,<br />
                       parameters : params,<br />
                       onComplete : displayMailResult,<br />
                       onFailure : failureMailResult });<br />
    return false;<br />
}</p>

<p>function displayMailResult(obj)<br />
{<br />
    document.mail_form.mail_preview.disabled = false;<br />
    document.mail_form.mail_post.disabled = false;<br />
    $(&quot;send_status&quot;).style.display = 'none';<br />
    $(&quot;ajax_mail&quot;).innerHTML = obj.responseText;<br />
}</p>

<p>function failureMailResult(obj)<br />
{<br />
    alert('メールの処理が失敗しました。');<br />
    document.mail_form.mail_preview.disabled = false;<br />
    document.mail_form.mail_post.disabled = false;<br />
    $(&quot;send_status&quot;).style.display = 'none';<br />
}<br />
//--&gt;<br />
&lt;/script&gt;<br />
</code><br />
</pre></p>

<p>ですが、次のコードに書き換えます。</p>

<pre>
<code>
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
function mail_ajax(mode)
{
    $(&quot;send_status&quot;).style.display = 'block';
    document.forms['mail_form'].mail_preview.disabled = true;
    document.forms['mail_form'].mail_post.disabled = true;
    var params = Form.serialize(&quot;mail_form&quot;);
    if (mode == &quot;post&quot;) {
        params += &quot;&amp;mail_post=1&quot;;
    }
    else if (mode == &quot;preview&quot;) {
        params += &quot;&amp;mail_preview=1&quot;;
    }

<p>    new Ajax.Request(&quot;&lt;$MTCGIPath$&gt;plugins/MailForm/mt-mail-form.cgi&quot;,<br />
                     { method : &quot;post&quot;,<br />
                       parameters : params,<br />
                       onComplete : displayMailResult,<br />
                       onFailure : failureMailResult });<br />
    return false;<br />
}</p>

<p>function displayMailResult(obj)<br />
{<br />
    document.forms['mail_form'].mail_preview.disabled = false;<br />
    document.forms['mail_form'].mail_post.disabled = false;<br />
    $(&quot;send_status&quot;).style.display = 'none';<br />
    $(&quot;ajax_mail&quot;).innerHTML = obj.responseText;<br />
}</p>

<p>function failureMailResult(obj)<br />
{<br />
    alert('メールの処理が失敗しました。');<br />
    document.forms['mail_form'].mail_preview.disabled = false;<br />
    document.forms['mail_form'].mail_post.disabled = false;<br />
    $(&quot;send_status&quot;).style.display = 'none';<br />
}<br />
//--&gt;<br />
&lt;/script&gt;<br />
</code><br />
</pre></p>

<p>とします。</p>]]>
    </content>
</entry>

<entry>
    <title>サイトを、&quot;Movable Type 4&quot;でリニューアル</title>
    <link rel="alternate" type="text/html" href="http://koyo-marlins.biz/blog/2007/10/movable-type-4de.html" />
    <id>tag:koyo-marlins.biz,2007:/blog//10.164</id>

    <published>2007-10-12T15:05:36Z</published>
    <updated>2007-10-17T05:35:07Z</updated>

    <summary>サイトを、&quot;Movable Type 4&quot;でリニューアルしました。 管理のために...</summary>
    <author>
        <name>鋪田博紀</name>
        
    </author>
    
        <category term="Movable Type" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://koyo-marlins.biz/blog/">
        <![CDATA[<p>サイトを、"Movable Type 4"でリニューアルしました。</p>

<p>管理のために、カスタマイズした点をメモとしてこのブログに書き記します。</p>]]>
        
    </content>
</entry>

</feed>
