前の関連記事:Blogger:テンプレート編集(1)Blogger独特のタグの理解が必要
<b:includable></b:includable>を<b:include />で呼び出す
レイアウト用ウィジット タグ - Blogger ヘルプ
これにでてくる例です。行番号は私がつけたものです。
"main" セクションから "i" と呼ばれる投稿が渡され、渡された投稿はインクルードされているセクションで変数 "p" として参照され、こうしてタイトルが表示されます。
1 <b:includable id='main'>
2 <b:loop var='i' values='posts'>
3 <b:include name='post' data='i'/>
4 </b:loop>
5 </b:includable>
6
7 <b:includable id='post' var='p'>
8 Title: <data:p.title/>
9 </b:includable>
逆方向から理解したほうが私にはわかりやすいです。
タイトルを表示するのは8行目のTitle: <data:p.title/>です。
data:pには投稿データが入ります。p.titleは投稿データpの中のタイトルを指します。
これが7行目と9行目の<b:includable id='post' var='p'></b:includable>に挟まれていますので7行目<b:includable id='post' var='p'>が呼び出されると8行目Title: <data:p.title/>が実行されます。
7行目<b:includable id='post' var='p'>はpという変数を引き渡されるpostという名の関数に相当します。idが関数名に相当し、varが引数となります。
この7行目<b:includable id='post' var='p'>が3行目 <b:include name='post' data='i'/>で呼び出されています。
3行目<b:include name='post' data='i'/>はpostという名の7行目<b:includable></b:includable>を呼び出して変数iを渡します。
3行目<b:include name='post' data='i'/>は2行目と4行目の<b:loop var='i' values='posts'> </b:loop>で挟まれています。
2行目<b:loop var='i' values='posts'> </b:loop>は投稿データの集合体であるpostsの投稿データの数だけiに各投稿データを代入して3行目<b:include name='post' data='i'/>を繰り返します。
この2行目<b:loop> </b:loop>は1行目と5行目の<b:includable id='main'> </b:includable>で挟まれているのでmainという名の1行目<b:includable></b:includable>が呼び出されると実行されます。
<b:include name='main'/>は自動的に埋め込まれているのでmainという名の1行目<b:includable></b:includable>は一番初めに自動的に呼び出されます。
<b:includable></b:includable>が<b:include />で呼び出される関数に相当するとわかれば結構テンプレートが読めるようになりました。
<b:includable></b:includable>が<b:include />で呼び出される関数に相当するとわかれば結構テンプレートが読めるようになりました。
data: タグでブログの各データを取り出す
Layouts Data Tags - Blogger Help
公式ヘルプも英語のものしかないですがdata:タグで呼び出すことにできるものがわかります。
Bloggerのテンプレートをいじる - Aragger ここのがわかりやすいかもしれません。
上の例の投稿データの集合体postsはBlog Postsの項に解説がありpostsの中の各postはdateHeader, id, title, body, autho, url、、、などたくさんデータを持っています。
サブ項目は"."で繋いで呼び出します。
投稿データpostsの中の投稿データpのタイトルであれば先の例のようにp.titleというふうにします。
参考にしたサイト
レイアウト用ウィジット タグ - Blogger ヘルプ
データ、ループ、if/Elseの解説もあります。
Layouts Data Tags - Blogger Help
公式ヘルプ dataタグの解説。英語しかありません。
Bloggerのテンプレートをいじる - Aragger
公式ヘルプより読みやすいです。
0 件のコメント:
コメントを投稿