sâmbătă, 25 februarie 2012

Taguri conditionale pentru Blogger

Norocul nostru ca blogger ne lasa sa editam codul html si css al sablonului si astfel ne putem modifica sablonul blogului dupa bunul plac. Astfel putem include in codul sablonului diferite scripturi si diferite coduri html care imbunatatesc aspectul blogului cat si functionalitatea lui.

Dupa cum multi dintre voi stiti, codul html al sablonului se poate modifica in interfata veche intrand la Design -- Editati html, iar in interfata noua intrand la Sablon -- Editati html -- si in fereastra deschisa Accesati.

Pe internet si pe blogul meu veti gasi foarte multe widget-uri pe care sa le atasati la blogul vostru. Multe dintre ele sunt facute sa apara in toate paginile blogului sau conditionate sa apara doar in anumite pagini ale blogului.
Am sa va explic astazi care sunt codurile, sau mai bine zis tagurile html care fac aceste conditionari.




Conditionarea unui widget sau cod html, pe Blogger se face cu ajutorul acestor taguri:

<b:if cond='pune conditionarea aici'>
</b:if>

Prima linie este compusa din tagul <b:if> la care se adauga atributul cond, si linia doua </b:if> care reprezinta tagul de inchidere. Intotdeauna cand veti adauga coduri si vreti sa le conditionati, </b:if> va trebui sa inchida ciclul. Uitarea adaugarii lui va da eroare cand veti incerca sa salvati sablonul.


I. Orice coduri sau scripturi adaugate fara aceste taguri vor aparea in toate paginile blogului. In pagina de inceput, in pagina postarilor, in paginile statice si in etichete si arhive.

II. Lista de conditionari

1. Conditionarea "index"

<b:if cond='data:blog.pageType == "index"'>
Codul tau
</b:if>

Orice cod pus intre cele doua taguri va aparea doar in pagina principala, in etichete (categorii) si in arhive.

2. Conditionarea "pagina de inceput (Home)"

<b:if cond='data:blog.url == data:blog.homepageUrl'>
Codul tau
</b:if>

Orice cod pus intre cele doua taguri va aparea doar in pagina de inceput a blogului.

3. Conditionarea "postare"

<b:if cond='data:blog.pageType == "item"'>
Codul tau
</b:if>

Orice cod pus intre cele doua taguri va aparea doar in pagina postului propriu-zis.

4. Conditionarea "pagina statica"

<b:if cond='data:blog.pageType == "static_page"'>
Codul tau
</b:if>

Orice cod pus intre cele doua taguri va aparea doar in paginile statice ale blogului.

5. Conditionarea "postari si pagini statice"

<b:if cond='data:blog.url == data:post.url'>
Codul tau
</b:if>

Orice cod pus intre cele doua taguri va aparea doar in postari si in paginile statice.

6. Conditionarea "un anumit url"

<b:if cond='data:blog.url == &quot;pune url-ul tau aici&quot;'>
Codul tau
</b:if>

Orice cod pus intre cele doua taguri va aparea doar in postarea sau pagina statica al carei url-ul este specificat.

7. Conditionarea "arhive"

<b:if cond='data:blog.url == &quot;archive&quot;'>
Codul tau
</b:if>

Orice cod pus intre cele doua taguri va aparea doar in arhivele blogului.

8. Conditionarea "categorie (eticheta)"

<b:if cond='data:blog.searchLabel'>
Codul tau
</b:if>

Orice cod pus intre cele doua taguri va aparea doar in paginile etichetelor blogului.

III. Conditionari alternative
Dupa cum ati vazut, avem 8 conditionari care fac ca un anumit cod sau script sa apara doar in locul unde doriti voi.

Conditionarile alternative sunt atunci cad vreti ca un cod sa apara oriunde mai putin acolo unde specificati.
Ele se formeaza la fel ca cele de mai sus cu o singura modificare. Pentru a intelege mai usor am sa va dau un exemplu.

Daca vreti ca un widget sa apara oriunde in blog dar nu si in paginile statice, iata cum trebuie sa arate tagul vostru conditionat:

<b:if cond='data:blog.pageType != "static_page"'>
Codul tau
</b:if>

Inlocuiti primul semn = (egal) cu semnul exclamarii. Mica modificare face acum ca obiectul sa apara  oriunde in blog dar nu si in paginile statice.
La fel procedati si cu celelalte taguri conditionate.

5 comentarii:

  1. Excelenta informatia ! Felicitari, ai reusit sa-mi fii cu adevarat de folos ! Dar..daca vreau sa aplic o astfel de conditionare doar pentru un widget, eu as proceda asa:intru in html, caut codul widgetului dupa titlu si il pun intre cele doua linii de cod date de tine, aici.Este corect, am prins bine miscarea ? Dar, oare nu functioneaza si daca pun conditionarea direct in widgetul corespunzator, cand il adaug cu html/java script ? Daca am spus o prostioara, scuze, mai am de invatat !

    RăspundețiȘtergere
  2. Lumis, ai dreptate! Se poate conditiona orice gadget sa apara doar in anumite locuri, dar trebuie facuta direct in codul html al sablonului. Adaugata in obiectul gadget nu are niciun efect.

    Oricum, asta este subiectul unui nou articol :)

    RăspundețiȘtergere
  3. Multumesc pentru informatii! Am aplicat si eu Conditionarea "postari si pagini statice" butoanelor de socializare

    RăspundețiȘtergere
  4. Am incercat sa fac un gadget sa nu imi mai apara pe o pagina statica dar nu reusesc poti sa ma ajuti te rog ? este vorba de linkwithin care nu il vreau pe o pagina statica dar nu reusesc sa il scot de acolo. Am incercat sa folosesc
    Codul tau

    dar cred ca nu il pun unde trebuie. Mentionez ca gadgetul este adaugat cu adauga gadget si nu direct in HTML-ul sablonului. PS L-am gasit in edit HTML si am adaugat codul inaintea lui dar imi da o eroare The widget with id HTML4 is not within a section (actual parent element is: b:if.) Every widget should be in a section. Deci il pun total gresit spune-mi te rog unde trebuie sa il pun. Multumesc

    RăspundețiȘtergere