Bloggerで必要なガジェットといらないガジェット

以前は以下のようなBlogger公式ガジェットを使っていました。
<html>
<body>
<header>
「ページヘッダー」ガジェット
「ページリスト」ガジェット
</header>
<main>
「ブログの投稿」ガジェット
</main>
<aside>
「AdSense」ガジェット
「人気の投稿」ガジェット
「ラベル」ガジェット
「自己紹介」ガジェット
「ブログリスト」ガジェット
「ブログアーカイブ」ガジェット
「AdSense」ガジェット(2つ目)
</aside>
<footer>
「Attribution」ガジェット
</footer>
</body>
</html>
自作した後はこんな感じです。
<html>
<body>
<header>
</header>
<main>
「ブログの投稿」ガジェット
</main>
<aside>
「人気の投稿」ガジェット
「ラベル」ガジェット
「ブログアーカイブ」ガジェット
</aside>
<footer>
</footer>
</body>
</html>
ほとんどのガジェットはブログを表示して、ソースの表示でガジェットで作られたhtmlの部分をコピーして、直接テンプレートに貼り付けるだけでいいです。変更があっても直接テンプレートを編集します。いらないガジェットはテンプレートのガジェット部分を消して「レイアウト」から削除すれば消えます。

「AdSense」ガジェットは「レイアウト」から削除して、Googleアドセンスから取得したコードをテンプレートに貼り付けます。

feedを使えばガジェットは自作できそうですが、用意されているガジェットを使用した方がいいです。
Bloggerのfeedで取得できるもの一覧

「ラベル」ガジェットはfeedでブログの全ラベルの一覧を取得できるので自作できます。ただ、ラベルごとの件数も表示したい場合は「ラベル」ガジェットなら「レイアウト」で「ラベルごとに投稿数を表示する」にチェックするだけでいいですが、自作すると全ラベルの一覧を取得してから、ラベルごとに件数を取得しないといけないので、表示するまでかなり時間がかかります。

「ブログの投稿」ガジェットや「ブログアーカイブ」ガジェットも自作してガジェットと同じデータを取得するのは、feedだけでは時間がかかりすぎます。
「人気の投稿」ガジェットはfeedではアクセス数が分からず、自作は不可能です。

Bloggerにはデータベースがあり、Bloggerのガジェットはデータベースから直接データを取得しています。ガジェット経由でしかデータベースにアクセスできないので、どういうデータベースがあるのかも分かりません。ガジェットに設定した項目などもテンプレートから該当箇所を削除しても消えず、データベースに保存されていると思われます。

ガジェットを自作する場合はfeedぐらいしかデータを取得する方法がないです。feedはBloggerがデータベースから内容を作成して返しているので、直接データベースから作っているガジェットより、どうしても遅くなってしまいますし、feedでは取得できないデータも多いです。

ガジェット部分を自作するのも簡単にはできません。以下のように変更した場合、エラーになります。
<aside>
<b:section id='sec-sideber'>
自作した「AdSense」ガジェットの代わりのhtml
「人気の投稿」ガジェット
「ラベル」ガジェット
自作した「自己紹介」ガジェットの代わりのhtml
自作した「ブログリスト」ガジェットの代わりのhtml
「ブログアーカイブ」ガジェット
自作した「AdSense」ガジェット(2つ目)の代わりのhtml
</b:section>
</aside>
<b:section>と</b:section>の間にはガジェット以外のhtmlのタグを書き込むことはできません。それを防ぐために、テンプレートを直接以下のように変更します。
<aside>
自作した「AdSense」ガジェットの代わりのhtml
<b:section id='sec-sideber'>
「人気の投稿」ガジェット
「ラベル」ガジェット
</b:section>
自作した「自己紹介」ガジェットの代わりのhtml
自作した「ブログリスト」ガジェットの代わりのhtml
<b:section id='sec-sideber2'>
「ブログアーカイブ」ガジェット
</b:section>
自作した「AdSense」ガジェット(2つ目)の代わりのhtml
</aside>
sectionは自分で好きなだけ増やすことができるので、ガジェットごとにsectionで囲めば、それ以外のところにhtmlのタグを書き込むことができます。
この記事のタイトルとURLをコピーする blogger
blogger