Bloggerのヘルプを真面目に読んだ所、ページ表示状態を示す変数であるpageTypeは値として item,index,archiveの3種類があるとの事でしたが、前回のテンプレートではarchiveである時を考慮していませんでした。
このarchiveという状態は、月や週単位でのアーカイブされた記事を表示する場合に代入されてくる値ですので、以下のような設定の場合は記事は要約されていますから、「続きを読む」を表示する必要があります。
<style type='text/css'>
<b:if cond='data:blog.pageType == "item"'>
.fullpost {display:block;}
.readmore {display:none;}
<b:else/>
.fullpost {display:none;}
.readmore {display:block;}
</b:if>
</style>
<b:if cond='data:blog.pageType == "item"'>
.fullpost {display:block;}
.readmore {display:none;}
<b:else/>
.fullpost {display:none;}
.readmore {display:block;}
</b:if>
</style>
よってまずは当初のテンプレートから以下のような部分を探します。使っているテンプレートにより若干の違いがあるかと思いますが、<data:post.body/>と書いてある部分はテンプレート中に一箇所のみ必ずあるはずです。
<div class='post-body'>
<p><data:post.body/></p>
</div>
<div class='post-footer'>
<p><data:post.body/></p>
</div>
<div class='post-footer'>
この見つかった部分、つまりは<data:post.body/>直後に「続きを読む」の機能部分のコードを入れます。この例では単純な<a;>タグと文字列によるリンクを作成していますが、これは任意な方法で構いません。ポイントは通常ならばhref="****"となる代わりにexpr:href='data:post.url'とBloggerの式を利用してい部分です。
<div class='post-body'>
<p>
<data:post.body/>
</p>
<b:if cond='data:blog.pageType != "item"'>
<p>
<a expr:href='data:post.url'>
続きを読む・・
</a>
</p>
</div>
<div class='post-footer'>
<p>
<data:post.body/>
</p>
<b:if cond='data:blog.pageType != "item"'>
<p>
<a expr:href='data:post.url'>
続きを読む・・
</a>
</p>
</div>
<div class='post-footer'>
前回の記事とは条件文が違っていて、pageTypeがitemではない場合には「続きを読む」を表示するという条件になっています。
本来ならばこれらを組み込んでテンプレートとして提供できれば良いのでしょうが、私にはデザインセンスがないので・・・。
関連のありそうな記事 |
0 コメント:
コメントを投稿