|
Comunitatea uCoz Altele Instrumente şi Script-uri Operatori condiţionali (<?if($VAR$)?>...<?else?>...<?endif?>) |
Operatori condiţionali |
Operatorii condiţionali pentru începători şi profesionişti. Dacă nu înţelegeţi cum funcţionează operatorii condiţionali, iar informaţia din cadrul Panoului de Control nu este suficientă pentru dvs, voi încerca să vă ofer o explicaţie. În primul rând, trebuie să credeţi că este foarte uşor! Operatorii condiţionali sunt coduri simbol speciale, ce pot desfăşura anumite scenarii (script-uri). Puteţi crea o opţiune complet nouă pentru site-ul dvs, care să nu fie oferită în cadrul Panoului de Control. În primul rând, trebuie să înţelegeţi şi să vă obişnuiţi cu componentele codului scriptului. Acestea sunt: <?if($code$)?> – este o anumită condiţie (cod), ce indică operatorului cu cine şi cu ce avem de-a face. Îl putem înlocui mental cu fraza «Dacă există»; <?else?> – este operatorul care va face ce spuneţi în cazul în care starea (condiţia) corespunde cu cea indicată. Îl putem înlocui mental cu fraza «Dacă nu»; <?endif?> – este finalul operatorului condiţional; poate fi înlocuit mental cu fraza «Sfârşit»; Acum, haideţi să vedem un exemplu simplu din cadrul Panoului de Control: (din Editorul de Pagină) <?if($USER_LOGGED_IN$)?> Salut, $USERNAME$ <?else?> Salut, VIZITATOR. Vă rugăm să vă înregistraţi. <?endif?> În limbajul nostru asta ar însemna: «Dacă este un utilizator autentificat, atunci «Salut, numele său de utilizator!», dacă nu, «Salut, vizitator!» şi sfârşit.» Acum haideţi să vedem detaliile. Ce am folosit? Am spus operatorului <?if($code$)?> că scriptul nostru este destinat pentru a saluta utilizatorii autorizaţi. Introducem codul de mai jos, în loc de $code$ - $USER_LOGGED_IN$ , adică spunem «Dacă este un utilizator autorizat - <?if($USER_LOGGED_IN$)?>». Apoi urmează informaţia, disponibilă tuturor utilizatorilor autentificaţi. În acelaşi timp, putem utiliza condiţii dacă acestea corespund celor indicate, în exemplul nostru sunt Vizitatorii. De aceea, după informaţia pentru utilizatorii autentificaţi, introducem informaţia pentru vizitatori. Obţinem <?if($USER_LOGGED_IN$)?> Salut, $USERNAME$ <?else?> Salut, Vizitator! Acum, trebuie doar să-l închidem. <?if($USER_LOGGED_IN$)?> Salut, $USERNAME$ <?else?> Salut, Vizitator! <?endif?> Putem, de asemenea, exclude Vizitatorii şi să afişăm informaţia doar pentru utilizatori autentificaţi. Pentru acest lucru, pur şi simplu nu utilizăm «If not». Şi vom obţine următoarea frază: <?if($USER_LOGGED_IN$)?> Ne bucurăm că v-aţi înregistrat! <?endif?> Înseamnă că doar cei care s-au autentificat vor vedea fraza «Ne bucurăm că v-aţi înregistrat!». Orice cod, specificat ca funcţional pentru un anumit modul, poate fi o condiţie pentru lucrul cu operatori. În cazul nostru (Editorul de Pagini), pot fi utilizate următoarele exemple: Autentificare şi deconectare: <?if($USER_LOGGED_IN$)?> <a href="$LOGOUT_LINK$">DECONECTARE</a> <?else?> <a href="$LOGIN_LINK$">AUTENTIFICARE</a> <?endif?> Zile după înregistrare: <?if($USER_LOGGED_IN$)?> Sunteţi alături de noi de $USER_REG_DAYS$ zile! <?else?> Vă rugăm să vă înregistraţi. <?endif?> Şi aşa mai departe. Condiţiile pentru un script pot fi modificate prin intermediul capacităţilor adiţionale, suportate de către operatori. Aceştia sunt semnele «=», «>», «<». Dacă este necesar, condiţiile echivalente sunt separate de o linie verticală. După semn, veţi menţiona operatorului cărui script complet este destinat. <?if($code$='condiţie')?> Puteţi vedea aceasta <?else?> Iar aici puteţi vedea asta <?endif?> Sau <?if($code$='condiţie')?> Principalul lucru este că pot vedea asta <?endif?> Exemplu: <?if($USER$='John')?> John, nu uita să citeşti e-mailul în fiecare zi. <?endif?> Asta înseamnă «Dacă sunt nume de utilizator şi John este printre ele (='John'), atunci acest mesaj îi este afişat …» La fel se întâmplă şi în cazul grupurilor, numelui, sexului, datei, etc. Mai multe exemple: <?if($USER$='Mike' or $USER$='Lola')?> Mike şi Lola, iată un link secret …. <?endif?> Grupuri: <?if($GROUP_ID$=3 or $GROUP_ID$=4)?> Moderatori şi Administratori, daţi click pe anunţ aici … <?endif?> Şi aşa mai departe. Cu toate acestea, operatorii pot lucra unul în cadrul altuia. Exemplu: <?if($USER_LOGGED_IN$)?> Salut $USER$! <?if($GROUP_ID$=3 || $GROUP_ID$=4)?> Nu uita să dai click pe anunţuri! <?endif?> <?else?> Vă rugăm să vă înregistraţi. <?endif?> Scriptul este următorul: «Dacă sunt utilizatori autentificaţi, atunci Salut, dacă printre aceştia sunt Administratori şi Moderatori, atunci adaugă Click pe anunţuri, dacă sunt utilizatori neînregistraţi, îi rugăm să se înregistreze, şi sfârşit.» Elementul principal este că trebuie să vă gândiţi bine cum să scrieţi un script, ce coduri să utilizaţi şi cui vor fi destinate. Puteţi scrie orice doriţi, uCoz este foarte flexibil! Câteva informaţii adiţionale: Întrebare - răspuns Quote Când creăm noi pagini, încărcate prin FTP, $SITE_NAME$, $LOGIN_LINK$, $LOGOUT_LINK$ codurile sunt afişate ca text... De ce nu funcţionează? $Codes$ lucrează doar pe paginile dinamice, adică pe paginile create în cadrul Panoului de Control, prin intermediul opţiunii "Creaţi pagină". Aceste $Codes$ nu funcţionează pe pagini statice încărcate, cu extensia .html. Quote Cum pot crea condiţii alternative, de exemplu pentru codul $GROUP_ID$? <?if($GROUP_ID$=5 or ($GROUP_ID$=4 and $USER$='Alex'))?>...<?endif?> Quote Există operatori, care permit unui utilizator să vadă în cadrul listei doar categoriile, la care el/ea are acces? Poate fi realizat prin formarea unei liste de categorii manual, adică bifaţi grupul curent şi lista necesară de categorii ce va fi afişată. La următorul pas, veţi bifa secţiunea care nu este necesară. Quote $GROUP_ID$ nu funcţionează în cadrul şablonului Panoul de Anunţuri. De ce? Mesajele Panoului de Anunţuri sunt salvate în memoria cache, aşadar nu puteţi utiliza coduri variabile dinamice. Quote Există codul $USER_LOGGED_IN$. Există şi codul $USER_LOGGED_OUT$? Este suficient să adăugaţi negaţia (!) la condiţia <?if(!$USER_LOGGED_IN$)?> Hint: puteţi face următorul Code <img border="0" src="/path_to_file/group$GROUP_ID$.gif"> Şi afişaţi imaginea dorită într-o astfel de variantă pentru fiecare grup. Notă Este un link către ajutorul pentru operatorii condiţionali în cadrul Panoului de Control. Acolo puteţi găsi ce înseamnă secţiunile condiţionale şi aveţi şi exemple pentru acestea. Good things come to those who wait!
|
Citat Felicia Hint: puteţi face următorul Cod <img border="0" src="/path_to_file/group$GROUP_ID$.gif"> Şi afişaţi imaginea dorită într-o astfel de variantă pentru fiecare grup. ca sa vedeti cat de bun e acest Hint, uitati-va ce am facut eu: pe MaxRom am folosit aceasta sintaxa pentru avatar implicit Cod <?if($_AVATAR$)?>$_AVATAR$<?else?><img title="$USERNAME$" border="0" src="http://maxrom.net/images/bd/profil/ava/$GROUP_ID$.png"><?endif?> deci dupa cum vedeti http://maxrom.net/images/bd/profil/ava/$GROUP_ID$.png e imaginea si in folderul ava am 7 imagini cu denumirile 1.png 2.png 3.png 4.png 255.png 251.png si 0.png oaspeti. daca nu as fi folosit acest hint, codul de mai sus ar arata cam asa: Cod <?if($_AVATAR$)?>$_AVATAR$<?else?> <?if($GROUP_ID$='1')?><img title="$USERNAME$" border="0" src="http://maxrom.net/images/bd/profil/ava/1.png"><?endif?> <?if($GROUP_ID$='2')?><img title="$USERNAME$" border="0" src="http://maxrom.net/images/bd/profil/ava/2.png"><?endif?> <?if($GROUP_ID$='3')?><img title="$USERNAME$" border="0" src="http://maxrom.net/images/bd/profil/ava/3.png"><?endif?> <?if($GROUP_ID$='4')?><img title="$USERNAME$" border="0" src="http://maxrom.net/images/bd/profil/ava/4.png"><?endif?> <?if($GROUP_ID$='255')?><img title="$USERNAME$" border="0" src="http://maxrom.net/images/bd/profil/ava/255.png"><?endif?> <?if($GROUP_ID$='251')?><img title="$USERNAME$" border="0" src="http://maxrom.net/images/bd/profil/ava/251.png"><?endif?> <?if($GROUP_ID$='0')?><img title="$USERNAME$" border="0" src="http://maxrom.net/images/bd/profil/ava/0.png"><?endif?> <?endif?> este diferenta? tot acest hint il folosesc la scriptul cu medalii pentru numaru de comentari si reputatie pe forum, iarasi daca nu as fi folosit acest hint, as fi avea cam 2+36 conditii, atatea cate imagini folosesc. |
Dar sa zicem ca avem un tebel(pe forum) iar in celula unde apare mesajul eu as vrea sa apara in coltul dreapta jos o imagine numai la cei care fac parte din anumite grupuri de utilizatori.Adica daca mesajul este postat de un administrator in coltul dreapta jos al celulei cu mesajul si semnatura sa apara aceasta imagine:
Am incercat eu ceva dar nu am reusit decat sa fac praf totul. |
Felicia, mulţumesc frumos pentru explicaţie, chiar m-a ajutat foarte mult!
Material modificat de TheGame - Duminică, 24/02/2013, 0:00 AM
|
Buna! Vreau sa adaug asa un cimp aditional la descrierea fotografiei
Cod <tr><td colspan="2" align="center"><b><font size="4" style="font-size: 10pt;">$OTHER2$</font></b></td></tr> dar vreau ca acest cimp sa fie vizibil doar pentru administratori si moderatori. Ma poate ajuta cineva cu scrierea acestui cod cu operatori conditionali? MERSI AM REUSIT SA FAC SINGUR! Material modificat de stand - Miercuri, 05/02/2014, 1:50 AM
|
Uff... Am reusit sa fac acest cimp vizibil in pagina cu fotografia. Acum vreau sa se vada si in album putin mai jos de numele fotografiei.
Presupun ca tre sa pun un cod asemanator in "aspectul inregistrarii pozelor" undeva aici Cod <span class="photo-title"><a href="$PHOTO_URL$">$PHOTO_NAME$</a></span> <span class="photo-block"> Am incercat si nu reusesc. Mai vrea sa ma ajute cineva ? |
Muşatinu, am incercat si nu merge.
Adăugat (06/02/2014, 1:47 PM) Cod <span class="uphoto"> <span class="photo-title"><a href="$PHOTO_URL$">$PHOTO_NAME$</a></span> <?if($GROUP_ID$=3 or $GROUP_ID$=4)?><span class="photo-title"><a href="$PHOTO_URL$">$OTHER2$</a></span><?endif?> <span class="photo-block"> <span class="ph-wrap"> Ce nu am facut eu bine? |
stand, la modulul photo, in "Aspectul înregistrării pozelor" funcționează
Cod $CUR_GROUP_ID$ Cod $GROUP_ID$ |
| |||
| |||