Jump to content
php.lv forumi
Sign in to follow this  
ray

ci daudzvalodu kontrolieris un metode

Recommended Posts

Mēģinu izdomāt kā ar codeigniter uztaisīt tā, lai multi valodu mājas lapā adreses veidotos šādi:

 

LV valodā

http://domēns.lv/lv/...numa-virsraksts

ENG valodā

http://domēns.lv/en/news/new-title

 

nevis šādi:

 

LV valodā

http://domēns.lv/lv/...numa-virsraksts

ENG valodā

http://domēns.lv/en/news/new-title

 

Ir kādi ieteikumi/risinājumi kā varētu realizēt šādu lietu?

Edited by ray

Share this post


Link to post
Share on other sites

vēl vēlējos piebilst, ka "jaunumi" un "news" nāk no tabulas. Piemēram, tabula pages (id, title_lv, title_en, order_nr, status)

Share this post


Link to post
Share on other sites

Definēt routes atkarībā no valodas neder/nevar?

if($lang == 'lv'){
route - jaunumi/nosaukums => controller = news, action = kaut kas, id = nosaukums
}elseif($lang == 'en'){
route - news/nosaukums => controller = news, action = kaut kas, id = nosaukums
}

 

Vēl viens variants, kas nāk prāta, nezinu gan vai labāks, katrai valodai rakstīt controllieri. Controller_jaunumi un controller_news, kas manto vienu un to pašu parent klasi, kur ir visas nepieciešamās metodes.

Share this post


Link to post
Share on other sites

šis variants laikam nederēs, jo šie jaunumi & news ir paredzēti dinamiski. sadaļu nosaukumi no db

 

 

Kaut vai arī par piemēru ņemot internetveikalu, un tur url veido pievienotās preces un preču sadaļu nosaukumi no kataloga. Piemēram:

[LV]

www.domens.lv/lv/datori/lietoti

www.domens.lv/lv/telefoni/samsung

www.domens.lv/lv/elektrotehnika/televizori

[EN]

www.domens.lv/en/computers/used

www.domens.lv/en/phones/samsung

www.domens.lv/en/electronics/tv

Edited by ray

Share this post


Link to post
Share on other sites

Pats arī savlaik esmu risinājis šādu problēmu. Manējais risinājums bija saistīts ar CI Router klases labošanu, tas bija ātrākais (iespējams vienīgais) variants, kā sasniegt man vajadzīgo rezultātu (kas ir līdzīgs tevis izvirzītajām prasībām).

 

Cits risinājums varētu būt pre-controller hook, kurā ielasa informāciju no datu bāzes, lai dinamiski mainītu routēšanu. Pagūglējot, tādus risinājumus var atrast.

Share this post


Link to post
Share on other sites

news/read/123/we-love-cookies

  • news - kontroleris,
  • read - metode,
  • 123 - params #1,
  • we-love-cookies - params #2;

Izvelkam no datubāzes ziņu ar ID = 123. Izvelkam visu vajadzīgo info (saturs, autors, tagi utml.) + visus slugus visās valodās (we-love-cookies, mums-garso-cepumi uc.).

 

Salīdzinam vai params #2 atbilst kādam no slugiem. Ja jā, skaisti. :)

 

P.S. Bet tas laikam nav īsti tas, ko Tu meklē.

Share this post


Link to post
Share on other sites

Jā, Es to sapratu, kas jau visu biju uzrakstījis. Bet labāk jāatstāj... kaut kas jau tur ir uzrakstīts. Varbūt kādam noderēs... he, he. :D

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...