A fórum moderátora: remus |
uCoz közösség Kiegészítő szolgáltatások A uCoz rendszer kiegészítő eszközei, funkciói Operátorok (A honlap vezérlő funkciói) |
Operátorok |
Először is mi is az operátor?
Az operátor egy olyan belső -a uCoz rendszerben használt- speciális kód, mellyel bizonyos elemeket lehet megjeleníteni/elrejteni a honlap egyes oldalain. Ez lehet egy felhasználó személyes lapjára mutató link, egy dátum, a honlap URL címe, és még sok minden más. CSAK html kódként és formában használható, és csak így jelenik az értéke! Az egyes sablonokba csak olyan operátor illeszthető be (pontosabban csak az fog működni), amelyik szerepel a sablon szerkesztőablak alatti listán! Rengeteg oprátor létezik a rendszerben, ezeket felsorolni elég sok idő lenne. Minden sablonnak megvannak a saját operátorai, illetve vannak azok az operátorok, amiket általánosnak lehetne nevezni. Ezek általában megjelennek minden sablonban. Ilyenek például a "Globális blokkok" (pl. $GLOBAL_AHEADER$), vagy a $POWERED_BY$ mely a uCoz védjegy megjelenítéséért felelős. (ingyenes szolgáltatás esetén kötelező az elhelyezése!) Az operátor gyakorlatilag nem más, mint a PHP programokban használt "változó" uCozos formája. Amit PHP-ben használunk, annyiban tér el ettől, hogy ott nincs a végén $-jel. Tehát az operátor nem más, mint egy változó, aminek megvan az alapértéke (alapfunkciója), de egyes esetekben adhatunk Mi is értéket, illetve használhatjuk feltételes esetekben is. Ilyen feltételes operátorokból elég sok található a sablonokban. Talán nevezhetem a legfontosabb ilyen feltételes operátornak a következőt: < ?if($USER_LOGGED_IN$)> Ezzel elég sok mindent ki-, illetve be lehet kapcsolni, megjeleníteni, eltüntetni. Az operátorok listája mint már említettem, az egyes sablonok szerkesztőablaka alatt található. Még tovább a lap legalján található még némi segítség is. Ha itt a kérdőjelre kattintasz, akkor megjelenik egy ablak a részletes leírással, illetve példával. Olvasd el, érdemes! Akinek valamilyen formában volt már dolga programozással, az operátorok vezérlése nem fog problémát jelenteni, de programozási ismeretek nélkül is elég egyszerű a dolog. Tehát ha tudsz egy kicsit is logikusan gondolkodni, akkor egész jó dolgokat lehet összehozni ezekkel a cuccokkal. Az operátorok funkciója is megtalálható a már említett listán, az operátor neve után. Példának tekintsük az első hozzászólást, mely rögtön két lehetséges megoldást is bemutat. Pro és kontra. Csatolmányok:
6196087.png
(22.4 Kb)
|
De ha már operátorok és CSS, ez is müködik:
Code <div class="hirblokk<?if($USER_LOGGED_IN$)?>1<?else?>2<?endif?>">....</div> Így az lett az eredmény hogy: .hirblokk1 kerül a CSS-be azoknak akik be vannak lépve. .hirblokk2-öt meg azok látják, akik vendégek. Vagyis ennek bonyolult megépítésével egy teljesen más külsőt is fel lehet építeni, bejelentkezetteknek, vagy vendégeknek. Én is használok ilyeneket. De ezeknek a megvalósítása felett is csak a csillagos ég szab határt. Ez is jó: Code <div class="hirblokk<?if($MODULE_ID$=='news' || $MODULE_ID$=='publ' || $PAGE_ID$=='sitePage1' || $MODULE_ID$=='blog')?>1<?else?>2<?endif?>....</div> |
A fórumomon kis gombok jelzik, hogy a felhasználó online, vagy offline van. Azt vettem észre, hogy, ha én bejelentkezek, mindenkinél azt írja ki, hogy online, ha pedig kilépek, mindenkinél offline-t ír. Mi lehet a gond?
A fórum html kódjaiban oldottam ezt meg: Code <?if($USER_STATUS$)?><div class="statusBlock">Állapot: </div><?endif?> <?if($USER_LOGGED_IN$)?><img src="http://kovjonasteszt.ucoz.net/new/online.png" border="0" alt="" /><?else?><img src="http://kovjonasteszt.ucoz.net/new/offline.png" border="0" alt="" /><?endif?> Hogyan birom megoldani, hogy csak annál a felhasználónál jelenjen meg az online kép, aki online van? |
Code <div class="statusBlock">Állapot: </div> <?if($USER_LOGGED_IN$)?><img src="http://kovjonasteszt.ucoz.net/new/online.png" border="0" alt="" /><?else?><img src="http://kovjonasteszt.ucoz.net/new/offline.png" border="0" alt="" /><?endif?> Így már tisztább a kód, de ez nemjó, hiszen a "USER LOGGED IN" operátor azt jelzi, ami rád vonatkozik. Vagyis: Ha bejelentkezel onlinenak látok, de ha nem akkor offline. $USER_STATUS$ operátor az, ami ezt az "online" offline-t megjeleníti. Akkor ezután elkell menni a "sablonszövegek cseréje" menüpontra, és az mivel nálam html kódot is bevesz, így oda kell beraknod a képet. Vagyis: Admin panel ---> Beállítások (felül) ---> Sablonszövegek cseréje ---> Felhasználók (azthiszem) ---> Online/offline szöveg helyére a képek elérési útvonala. |
Quote (Locky) Így már tisztább a kód, de ez nemjó, hiszen a "USER LOGGED IN" operátor azt jelzi, ami rád vonatkozik. tényleg! Köszi, Locky! Hozzáadva (17.08.2012, 06:59) Hozzáadva (17.08.2012, 07:39) |
Sziasztok!
Egy értesítéses rendszert tervezek az oldalamra. Olyan dinamikus, mint a FB-on nem lesz (ez tény), de valami ahhoz hasonló dolgot szeretnék kreálni. Elkezdtem játszadozni az operátorokkal, melyeket az if / else kombókkal szabályozok; az új üzenet jelző funkciót már sikerrel megoldottam. ^-^ Amit szeretnék: - ha hozzászólás érkezik valahová (amit követésre jelöl az olvasó - hírek, cikkek stb) jöjjön róla értesítés - ha változás történt a hírnév, dicséret, warn állapotodon jöjjön róla értesítés stb stb stb A lényeg, hogy ne priv. üziben értesítsen, hanem értesítés jöjjön (vagy jöhet priv. üziben is végül is mind1, csak jelenjem meg, mint értesítés, max odabiggyesztek egy "elolvasom" url-t a végére). Minden lehetőségre, ötletre stb. nyitott vagyok. Egy kérés: Ha valaki kódot küld, azt priviben tegye. (vmarci21: Ha privátban küldök kódot, és másnak is szüksége lenne rá, az kérdezheti/kérheti újra. Nem szép dolog irigynek lenni!) |
Redzsina,
valami olyat akarsz ami a dirtywindows-on van? (lépj be, 3 gomb jobb oldalt) A 2. gomb megoldásához tippem sincsen... |
vmarci21,
Igen-igen!! *:* Ötlet a megvalósítására? Nem vagyok irigy. Nyugodtan elküldheted bárkinek a kódot, ha kéri... Más célja volt a mondatnak. Hozzáadva (01.12.2012, 15:13) |
| |||