5202

ein Blog über technische Fragen zu Blogger

Blogger: Globally conditional data tags for all page types

von

Ich habe mir die Mühe gemacht, alle konditionalen Tags für die verschiedenen Seite-Typen in Blogger zusammenzufassen. Das gibt's auch anderswo im Netz - nur ist das entweder veraltet oder unvollständig.

Ihr findet in diesem Gist die konditionellen Tags für die index_page[= Übersichtsseite}, item_page [Postseite], archiv_page, label_page, search_page, error_page und static_page.

Was neu ist und was es noch nirgendwo gibt, wie ihr eine spezifische statische Seite in allgemeiner Form ansprechen könnt:


<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl + "p/foo.html"'> 
  <!-- a specific static page with name 'foo' -->
</b:if>

Das ist ein konditionaler Tag für eine statische Seite mit dem Seitennamen 'foo' und das Äquivalent zur canonischen URL www.euerBlog.blogspot.com/p/foo.html. Ihr müsst beachten, dass Seitennamen case-sensitiv sind, d.h. foo =! Foo.

Ich habe außerdem die logischen Verknüpfungen AND, OR & NOT mit konditionellen Tags beschrieben.


#AND
 
<b:if cond='data:blog.pageType == "index"'>
  <b:if cond='data:blog.searchQuery'>
    <!--search_page AND index_page-->
  </b:if>
</b:if>
 
 
#OR
 
<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl   &quot;p/foo.html&quot;'> 
  <!-- static_site foo OR static_site bar -->
      <b:else/>
<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl   &quot;p/bar.html&quot;'> 
  <!-- static_site foo OR static_site bar -->
   </b:if>
</b:if>
 
 
#NOT
 
<b:if cond='data:blog.pageType != "index"'>
  <!-- all pages NOT index pages -->
</b:if>
 
<b:if cond='data:blog.url != data:blog.homepageUrl'> 
  <!-- all pages NOT homepage -->
</b:if>

Diese konditionalen Tags solltet ihr immer dann anwenden, wenn ihr ein HTML-Element beziehungsweise Markup zB. auf der Startseite wollt und auf der Postseite nicht. Ihr solltet es _nicht_ dazu nehmen, um diese Elemente zu gestalten. Dazu gibt es CSS und die Klassen .index, .item, .static_page, .error_page ...

Ich gebe es zu, ich habe das hauptsächlich geschrieben, weil ich selber diese Tags immer wieder brauche und die einfach mal übersichtlich auf einen Haufen wollte. Sie sind höchst nützlich und ihr braucht sie für jeden Umbau im eigenen Layout!