解説(8)テンプレートに商品情報を組込む

PHPとWebAPIで作るアフィリエイトサイト。

 

Smartyテンプレートを使う方法の続き。

 

サンプルコードのserch.phpの最後の方でスマーティに渡す情報を指定しました。

 

これですね。

 

$smarty->assign("keywords",$keywords);
$smarty->assign("list_y",$list_y);
で、この渡された情報を元に、テンプレート「kekka.php」で表示するという指定がこれです。

 

$smarty->display('kekka.tpl',$cache_id);
では受け渡した情報をどうやってテンプレートに組み込むのか。

 

…と言うところが今回の説明です。

 

なお今回のサンプルコードの場合、変数$keywordsには検索した文字列が入っていて、変数$list_yは検索結果を格納した配列が入っています。

 

kekka.tplのソースコード(中身はHTMLファイル+Smarty変数)<
html>
<
head>
<
title>
{$keywords}:調査結果<
/title>
※変数が単なる文字列の場合、{$keywords}と書けば、ここに変数$keywordsの中身が表示されます。

 

これは一ページ中、何回使っても構いません。

 

<
/head>
<
body>
<
h1>
{$keywords}の検索結果<
/h1>
←ここでも使っていますね<
p>
ページ更新日:{$smarty.now|date_format:'%Y/%m/%d'} <
/p>
※ここは時刻を表わす予約変数で、スマーティがこの変数を読み込む瞬間にタイムスタンプを読んで表示します。

 

ショッピングサイトの場合、表示している情報がいつのモノであるか表示する必要があるので、ページの更新日付はなるべくページの上部に表示した方がよいと思います。

 

楽天のwebサービスの注意書きを読むと、価格情報や入手可能性については最新の情報が表示されるようにと言う但し書きがありますキャッシュも24時間までと言う風なことがどこかに書いてありました。

 

なお日時・時刻の表示方法の指定はPHPと同じです。

 

date_formatの指定法<
!-- ■ここから商品検索結果を表示 -->
{foreach from=$list_y item=row }※これは、配列$list_yの中から商品情報を1つずつ要素を読み出していく部分です。

 

foreachは組み込み関数と呼ばれますが、PHPとほぼ同様です。

 

スマーティのforeach読み出した商品情報を「row」と名付けていますが、この名前は他と重複しなければ大抵使えます。

 

{$row.title}は、商品タイトル名ですね。

 

{$row.url}は商品ページのURLです。

 

{$row.img}は商品画像で、{$row.price}が商品価格になっています。

 

これは、サンプルのserch.phpの配列$list_yを作るところで指定しているだけなので、自分で分かりやすい名前を付けておくと良いです。




 

 

<
div>
<
p>
<
a href="{$row.url}" target="_blank">
<
img src="{$row.img}" border="0" alt="{$row.title}" />
<
/a>
<
/p>
<
p>
<
a href="{$row.url}" target="_blank">
{$row.title}<
/a>
<
/p>
<
p>
<
b>
{$row.price}円<
/b>
<
/p>
<
p>
{$row.caption} <
/p>
<
p>
{$row.Description} <
/p>
<
p>
【平均評価】:{$row.reviewAverage}(5点満点) <
/p>
<
p>
<
a href="{$row.url}" target="_blank">
詳しくはこちら<
/a>
<
/p>
<
/div>
{/foreach}<
!-- ■ここまで -->
<
br clear="all">
<
!-- WEBサービスのクレジット表示 -->
<
!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
<
a href="http://developer.yahoo.co.jp/about">
<
img src="http://i.yimg.jp/images/yjdn/yjdn_attbtn2_105_17.gif" width="105" height="17" title="Webサービス by Yahoo! JAPAN" alt="Webサービス by Yahoo! JAPAN" border="0" >
<
/a>
<
!-- End Yahoo! JAPAN Web Services Attribution Snippet -->
<
/body>
<
/html>
これでサンプルコードの解説はお終いです

広告


Twitter
Facebook
LINE
はてな
ポケット



売れてます

★稼げるアフィリエイター専用SEO分析ツール「COMPASS」

大幅バージョンアップ完了!アフィリサイト作成システムSIRIUS

★SEOに強い戦略的テンプレート「賢威7」

アフィリエイト教材 最新人気ランキング