Kiválasztott nyelv kódja url-ből home linkbe?

asiafan képe

hogyan tudnám a linkből kiszedni és hozzáadni a nyelvet a home linkekhez?

www.mysite.com/hu/node/13...
és akkor ebből kéne a "hu" vagy "en", és azt hozzá kéne tenni a home
linkhez, hogy adott nyelvű kezdőoldalra menjen vissza, bár ez nem szám,
hanem betű. Ha a főoldalra érkezik vki és még nem klikkelt semmire, akkor nincs ilyen tag.
Az oldalbanner/cím alatt így van a home link:

<a href="<?php print $base_path ?>" title="<?php print t('Home')
?>"><?php print $site_name ?></a>

de bármi egyéb megoldás is jó lenne, arra, hogy az i18n használatakor a home linkek a már kiválasztott (és az url-ben tárolt) nyelven jelenjenek meg. köszi

Hojtsy Gábor képe

Először is fel kell ismerni a szabályosságot. Vagy van nyelvkód a webcímben vagy nincs. Ha van, azt arról ismerjük fel, hogy kétbetűs (vagy ha nem akarjuk elbonyolítani, akkor csak a 'hu' és 'en' sorozatot ismerjük fel). Ezt kell kivenni a webcímből. Mivel megvan a szabályosság, azaz a minta, a PHP mintaillesztő függvényeit kell elővenni.

if (preg_match('!^([a-z]{2})(/|$)!', $_GET['q'], $matches) {
  $base_path .= $matches[1]. '/';
}

A mintaillesztés két kisbetűt keres a kért lap címének elején, melyet perjel, vagy karaktersorozat vég követ. Ha ezt megtalálja, akkor módosítja a $base_path értékét. Ezt nem próbáltam ki, de elvileg mennie kell, ha a sablon elejére teszed.

0
0
asiafan képe

köszi. és ez a mysite/ utánról veszi és teszi oda vissza? vagy bárhol bekavar egy kétbetűs dolog?
amúgy nem sikerült a sablonba (theme?) tennem, csupa függvények vannak benne, és azon belül iylen if-ek,nemtom, hova való, ha csak különb az elejére teszem a ?php-n kivülre, akkor aszongya, hogy a 2. sorban:
parse error, unexpected '

0
0
Hojtsy Gábor képe

Ezt írtam: A mintaillesztés két kisbetűt keres a kért lap címének elején. Ez választ ad az első két kérdésre.

A sablon, amire neked szükséged van pontosan az a fájl, ahonnan az idézett részletet kimásoltad. Ez szerintem biztosan nem egy .theme kiterjesztésű féjl.

0
0
asiafan képe

pedig az.
(interlaced.theme)

de hogy melyik ' jellel volt és mi baja, nemtom..
(esetleg a félreértések elkerülése végett mondhatnád angolul is, mit értesz sablon alatt, mert ezeket a magyar ferdítéseket sosem értem:)

0
0
Hojtsy Gábor képe

Eltalálgatok én szívesen, de az interlaced.theme 4.6-os és 4.7-es kódjában sincs benne az idézett rész, tehát még mindig nem tudom hogy mit használsz... Talán ha informálnád a fórum olvasóit a környezetről, amiben dolgozol (Drupal verzió, a fenti idézet alapját képező smink), akkor jutnánk valamire.

0
0
asiafan képe

ja télleg, ezt egy másikból tettem bele, mert az interlacedben egyátalán nem volt semmilyen link a cím alatt. A friendselectricből volt asszem, 4.7-es cuccok. Az a lényeg, hogy legyen fenn egy $site_name és annak legyen egy a fenti módon, nyelvvel kiegészülő $base_path linkje. Ezt nyilván a "sminkbe" kell tenni, bár még nem árultad el, hogy mi a "sablon" :) Jó volna persze a breadbrumb home linkeket is nyelvfüggővé tenni, de egyelőre még csak azt találtam meg, hogyan tüntethetők el.

0
0
Hojtsy Gábor képe

No, hát akkor a válasz, amit beküldtem a friendselectricből a page.tpl.php elejére való (a teljes szürke doboz tartalma). Az, hogy mi a sablon, az a sminken múlik, van olyan smink, aminek nincs is saját sablonja, van aminek .tpl.php sablonja van, van aminek a .theme-ben van a sablonja, van aminek .xtpl a sablonja, van aminek .tpl és így tovább.

0
0