DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

Odgovori
 
Alati teme Način prikaza
Staro 31. 07. 2007.   #1
Pedja
Predrag Supurović
Grand Master
 
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
Pedja is on a distinguished roadPedja is on a distinguished roadPedja is on a distinguished road
Default Moze li ovo krace?

Ima li neko ideju moze li ovaj kod:

if (empty ($USER_DEFAULT_LANG_ID)) $USER_DEFAULT_LANG_ID = 'sr';
define ('DEFAULT_LANG_ID', $USER_DEFAULT_LANG_ID);

... da se zameni necim kracim?

Problem je sto $USER_DEFAULT_LANG_ID moze da bude nedefinisano, pa rvo mora da se to proveri i dodeli mu se podrazumevana vrenost pre definisanja konstante.

Imam gomilu konstanti koje treba na ovaj nacin da definisem i ima da se okilavim kucajuci...
Pedja je offline   Odgovorite uz citat
Staro 31. 07. 2007.   #2
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Pod uslovom da ti $USER_DEFAULT_LANG_ID ne treba kasnije:

PHP kôd:
define('DEFAULT_LANG_ID', isset($USER_DEFAULT_LANG_ID) ? $USER_DEFAULT_LANG_ID 'sr'); 
Ilija Studen je offline   Odgovorite uz citat
Staro 31. 07. 2007.   #3
Pedja
Predrag Supurović
Grand Master
 
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
Pedja is on a distinguished roadPedja is on a distinguished roadPedja is on a distinguished road
Default

Odgovara

Nesto sam i ja izmajmunisao, lici mi da je malo prljavo ali kanda radi:

PHP kôd:

defineDefault
('DEFAULT_LANG_ID'$USER_DEFAULT_LANG_ID'sr');


function 
defineDefault ($p_const_name, &$p_value$p_default '') {

  if (empty (
$p_value)) $p_value $p_default;
    
define ($p_const_name$p_value);


Moze i bez & u definiciji parametara fukcije ali tada PHP prijavljuje Notice..

Poslednja izmena od nixa : 31. 07. 2007. u 17:38.
Pedja je offline   Odgovorite uz citat
Staro 01. 08. 2007.   #4
robi-bobi
expert
Grand Master
 
Avatar robi-bobi
 
Datum učlanjenja: 05.10.2005
Lokacija: Sofia, Bulgaria
Poruke: 805
Hvala: 222
958 "Hvala" u 68 poruka
robi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu auru
Pošaljite poruku preko Skype™ za robi-bobi
Default

^
aj ja da budem los, pa da predlozim da ne bude krace, nego da proveravas kukijem jel ranije korisnik birao vec neki jezik

ja uvek radim: jel ima jezika, ako ne onda kuki, ako ne, onda default
robi-bobi je offline   Odgovorite uz citat
Staro 01. 08. 2007.   #5
Pedja
Predrag Supurović
Grand Master
 
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
Pedja is on a distinguished roadPedja is on a distinguished roadPedja is on a distinguished road
Default

Vise volim da to radim preko sesija, mada se svodi na isto.

No ovde se radi o necem drugom: podesavanju default vrednosti koja ce se primeniti ako korisnik nije izabrao nijednu.

Ovo je u stvari segment ucitavanja incijalizaciej programa i sluzi mi da obezbedim neku smislenu default vrednost za slucaj da je administrator sajta uopste nije podesio.

To sa jezikom kod korisnika sam tako i ja radio dok nisam naisao na par problema:

1. ako korisniku zapamtis izabrani jezik u cookie/session, onda u url-ovim jezik vise ne mora da figurira. Ako korsinik uzme link bez navedenog jezika i stavi ga negde drugde, to znaci da sa tog drugog mesta ne mora da se otvori dokument na jeziku koji je korisnik video.

Primer: korisnik je unapred izabrao da ce da korsiti srpski ali je default sajta engleski. Linko na kome on vidi dokument ne sadrzi definiciju jezika jer to vec ima u cookie-u. On iskopira adresu dokumenta i stavi link na neki drugi sajt. Kada neko na tom drugom sajtu klikne na link, on nema unapred podesen jezik, pa mu se otvori default a to je negleski a to nije ono sto je prvobitni korisnik postavljanjem linka hteo.

2. ako se informacija o jeziku prosledjuje kroz cookie/session onda on me mora da figurira u URL-u a to se direktno odrazava na SEO.

Ako se nastavimo na prethodni primer: pretrazivaci ce uvek videti samo default verziju sajta (engleski) osim ako negde ne nalete na link koji sadrzi i oznaku jezika, ali ce onda videti i razlicite sadrzaje na istoj adresi dokumenta.

Tako sam se ja odlucio da se drzim pravila da se u linku uvek sadrzi oznaka jezika, osim u slucaju ako se ne radi o default jeziku u kom slucaju oznaka jezika ne sme da se pojavljuje.

Na ovaj problem sam recimo naleteo na Vokabularu. U pocetku je korisnik na svakoj strani mogao da odabere da li ce latinicnu ili cirilicnu verziju, to je zapamceno u sesiji i u cookie tako da cak i svaki sledeci put kada dodje na sajt, vidi onu verziju koju je odabrao. Medjutim, pojavio se problem sto su ljudi tako stavljali linkove na sadrzaje ali koji nisu sadrzavali definiciju pisma pa su dobijali uvek cirilican sadrzaj koji je podrazumevani izbor. To sam izmenio tako da sada na Vokabularu svaki link sadrzi i odredjenje na kom pismu se prikazuje sadrzaj.

Ovo je inace zanimjiva tema koju mozda treba izdvojiti kao posebnu, jer je verovatno da su ljudi ovaj problem resavali na razlicite nacine, primenjujuci razlicitu logiku.
Pedja je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #6
robi-bobi
expert
Grand Master
 
Avatar robi-bobi
 
Datum učlanjenja: 05.10.2005
Lokacija: Sofia, Bulgaria
Poruke: 805
Hvala: 222
958 "Hvala" u 68 poruka
robi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu auru
Pošaljite poruku preko Skype™ za robi-bobi
Default

sesija ne pamti sledecu posetu, zato je tu kuki
a i sta ce ti jezik u sesiji, kad ga imas u URL-u

iako jezik ne mora da figurira u url kad imas kuki, on moze da figurira

uvek stavljas jezik u url, kuki je samo izmedju poseta. u prvom if-u proveravas za url jezik i gotovo
robi-bobi je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #7
LiquidBrain
Milan Cvejic
Wrote a book
 
Avatar LiquidBrain
 
Datum učlanjenja: 05.09.2006
Lokacija: Beograd
Poruke: 1.241
Hvala: 32
73 "Hvala" u 56 poruka
LiquidBrain će postati "faca" uskoro
Pošaljite poruku preko Yahoo za LiquidBrain
Default

A i uvek mozesh da koristis geoIP da bi setovao default jezik na osnovu zemlje...

Mada to ne mora da znaci da je dobro resenje...
__________________
http://weevify.com
LiquidBrain je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #8
Pedja
Predrag Supurović
Grand Master
 
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
Pedja is on a distinguished roadPedja is on a distinguished roadPedja is on a distinguished road
Default

Citat:
Originalno napisao robi-bobi Pogledajte poruku
uvek stavljas jezik u url, kuki je samo izmedju poseta. u prvom if-u proveravas za url jezik i gotovo
To je ok, samo nije bas u skladu s onim sto si prvo napisao

Citat:
Originalno napisao LiquidBrain
A i uvek mozesh da koristis geoIP da bi setovao default jezik na osnovu zemlje...
To mi se nikad anije svidjalo kao resenje.

Nego odosmo u offtopic, mogo bi moderator ovo da izdvoji u psoebnu temu.
Pedja je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
.al domen moze da se registruje torbica Domain Name Service (DNS) 10 29. 04. 2009. 20:52
.mk takodje moze da se registruje torbica Domain Name Service (DNS) 2 24. 04. 2009. 22:30
Ko moze duze? : ) dee Opušteno 20 24. 10. 2006. 08:46
Da li ovo moze?!? a i ako moze kako?!? LiquidBrain PHP 16 22. 09. 2006. 15:55


Vreme je GMT +2. Trenutno vreme je 12:40.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.