2017-02-10 2 views
5

Ich habe einige Erfahrung in HTML und CSS aber richtige Codierung wie Java, JS und PHP Ich bin ein Neuling, und dies ist das erste Mal, dass ich ein Blogger Template/Site aufgebaut haben von Grund auf neu, so ist es eine Menge Versuch und Irrtum. Ich habe versucht, nach einer Antwort zu suchen, aber ich konnte keine Antwort finden, die meiner Meinung nach relevant für das war, wonach ich suchte.Können Sie Ihren Blog so einrichten, dass nur die allererste Bezeichnung eines Posts in Blogger angezeigt wird?

Standardmäßig wissen wir, dass das Blog1-Widget Ihren neuesten Post in seiner Gesamtheit auf der Zielseite zusammen mit den Autorendetails, Kommentaren und Labels in der Fußzeile anzeigt. Meine Frage können Sie den Code so ändern, dass nur das erste Label am unteren Ende des Posts angezeigt wird?

Serienmäßig ist dies die Syntax fordert die Etiketten Liste innerhalb der nativen Blogger-Codierung verwendet:

<b:if cond='data:top.showPostLabels and data:post.labels'> 
    <data:postLabels/> 
    <b:loop values='data:post.labels' var='label'> 
    <a expr:href='data:label.url' rel='tag'><data:label.name/></a> 
    <b:if cond='not data:label.isLast'>,</b:if> 
    </b:loop> 
</b:if> 

ich aber, dass vielleicht die Änderung des b: loop ab zu sagen: include aufhören würde Blogger für mehr telefonieren von den Labels und würde vielleicht bei nur einem aufhören, aber als ich das änderte, verhinderte das im Grunde, dass der gesamte Blog angezeigt wurde!

Alles was ich will ist, dass es "Labels: Label1" statt "Labels: Label1, Label2, Label3, etc" ohne Beschränkung der Anzahl der Etiketten auf nur eine.

Vielen Dank im Voraus an jeden, der antwortet und hilft.

Mark

Antwort

1

können Sie index Attribut verwenden, die auf Null basierenden Index der Post Labels durch die Schleife

<b:if cond='data:top.showPostLabels and data:post.labels'> 
    <data:postLabelsLabel/> 
    <b:loop values='data:post.labels' index='i' var='label'> 
     <b:if cond='data:i == 0'> 
      <a expr:href='data:label.url' rel='tag'> 
      <data:label.name/> 
      </a> 
     </b:if> 
    </b:loop> 
</b:if> 
gibt
1

Update: Eine viel einfachere Art und Weise zu erreichen, was Sie benötigen, können über diesen Code erfolgen -

<data:postLabelsLabel/> <a expr:href="data:post.labels[0].url" ><b:eval expr='data:post.labels[0].name'/></a> 

Eine zusätzliche bedingte Anweisung wird benötigt, zu begrenzen, um die Etiketten zu nur einem. Der obige Code wird wie folgt geändert werden -

<b:if cond='data:top.showPostLabels and data:post.labels'> 
    <data:postLabelsLabel/> 
    <b:loop values='data:post.labels' var='label'> 
     <b:if cond='data:label.isLast'> 
      <a expr:href='data:label.url' rel='tag'> 
       <data:label.name/> 
      </a> 
     </b:if> 
    </b:loop> 
</b:if> 

ich die bedingten data:label.isLast verwendet habe, nur das Etikett zu drucken, wenn es die letzten in der Post ist (im Fall gibt es nur ein Etikett, dann würde das gedruckt). Blogger ordnet die Labels in alphabetischer Reihenfolge an und bietet keine Kontrolle über das Ändern der Sortierreihenfolge.

Zum Beispiel, wenn der Pfosten hat, die Etikett als "Labels: A, B, C" folgt, dann nach dem Code, der die oben ändert, ist das Ergebnis Ende wäre "Labels: C"

Verwandte Themen