バックナンバークリエイター

メールマガジンバックナンバー自動表示 その4

2007年04月09日
メルマガ本文の編集方法は決まりました。今度は、どのメルマガを表示するかをどうやって決めるかです。

メルマガ表示ソフト:back_number.php
各メルマガファイル:mm001.txt、mm003.txt、mm002.txt・・・
とします。どのメルマガを表示するのかを、メルマガ表示ソフトへ知らせなければいけません。その方法を考えます。

これはURLに引数を付けて知らせる事ができます。
http://sample.jp/back_number.php?mm_id=mm001.txt
とるすと、変数mm_idにmm001.txtが代入されるので、mm_idをメルマガ表示ソフトに渡してやれば、どのファイルを表示すればよいかがソフト側でわかります。
mm002.txtを表示したい場合は、
http://sample.jp/back_number.php?mm_id=mm002.txt
となります。


次はタイトルタグの表示です。タイトルタグは、各回のメルマガのサブジェクトやタイトルが異なるように、メルマガによって変えたいですよね。毎回同じでいいのなら話は簡単なんですが、SEO対策上変えたいという人が多いでしょう。
そうなると、どのメルマガには、このタイトル、と紐付けるものが必要になります。
これは、
mm001.txt , タイトル1
mm002.txt , タイトル2
mm003.txt , タイトル3
  ・
  ・
  ・
というcsvファイルを作って紐付けます。どのファイルを表示するかはわかっているので、このファイルを見れば、タイトルが取得できます。


更に、このファイルを使って、左メニューも作成します。タイトルとメニューに表示したい文字は違うかもしれないので、先ほどのファイルに項目を追加して、
mm001.txt , タイトル1 , メニュー1
mm002.txt , タイトル2 , メニュー2
mm003.txt , タイトル3 , メニュー3
  ・
  ・
  ・
とします。これで、メニューの表示文字が取得できるようになります。もし、メニューが空文字ならタイトルを表示するようにすれば、同じ場合は入力が省略できます。
メニューの文字にはるリンクは、ファイル名から作ることができます。


これでタイトル、メニューの作成ができます。
ここで、メニューについてもう少し考えてみると、ユーザーによって使用したいタグが異なると思うのです。
<ul>
 <li>メニュー1</li>
 <li>メニュー2</li>
 <li>メニュー3</li>
  ・
  ・
  ・
</ul>

としたい人もいれば、

<table>
 <tr>
  <td>メニュー1</td>
 </tr>
 <tr>
  <td>メニュー2</td>
 </tr>
 <tr>
  <td>メニュー3</td>
 </tr>
  ・
  ・
  ・
</table>

としたい人もいます。多分、人によって違うでしょう。

そこで、メニューの表示はテンプレートで対応することにします。各ユーザに次のようなテンプレートを用意してもらいます。
<ul>
 <li>%menu%</li>
</ul>

<table>
 <tr>
  <td>%menu%</td>
 </tr>
</table>

などです。%menu%に編集したメニューが入ります。でも、これではまだ不完全です。<ul>タグを例にしてみていくと、実際のタグは、<li>メニュー</li>がメニューの数だけ繰り返されます。この繰り返しも指定してやらなければいけません。
これは各タグによって違うので、テンプレートの中で繰り返す部分を指定します。

テンプレートを
<ul>
 <-- repeat start -->
 <li>%menu%</li>
 <-- repeat end -->
</ul>
と変更します。これで繰り返し部分がわかるようになります。