Jump to content
php.lv forumi

valodas slēdzis


ziedinjsh

Recommended Posts

Pats valodas slēdzis strādā, bet nevaru izdomāt kā novērst šādu problēmu..

 

lapas menu linki ir šādi:

 

echo "<div id='menu-link' onclick=\"location.href='".$url."';\" alt='".$lang['2']."' >".$lang['2']."</div>";
echo "<div id='menu-link' onclick=\"location.href='".$url."?show=cenas';\" alt='".$lang['3']."'>".$lang['3']."</div>";
echo "<div id='menu-link' onclick=\"location.href='".$url."?show=kontakti';\" alt='".$lang['4']."'>".$lang['4']."</div>";

 

un valodas slēdzim ir tādi paši var teikt:

echo "<div id='lang-link' onclick=\"location.href='?lang=lv';\" alt='Latviešu valoda'>LV</div>";
echo "<div id='lang-link' onclick=\"location.href='?lang=ru';\" alt='Pусский язык'>RU</div>";

 

Jūs jau saprotat kas notiek.. uzpiežou uz ru valodu un uzpiežot uz kādu linku no izvēlnes uzreiz ir latviešu valodā..

 

Valodas slēdzis:

$languages = array(
   'lv' => 'lv',
   'ru' => 'ru',
);

if (isset($_GET['lang']) AND array_key_exists($_GET['lang'], $languages))
{
   include 'lang/' . $languages[$_GET['lang']] . '.php';
}
else
{
   include 'lang/lv.php';
}

 

vai var kāds palīdzēt novērst šādu problēmu..

 

Izvēloties valodas es brīvi var slēgāt menu un būtu izvēlētajā valoda

 

Paldies jau iepriekš! :)

Link to comment
Share on other sites

tas ir kaut kā šādi?

 

$languages = array('lv' => 'lv', 'ru' => 'ru');

if (!isset($_SESSION['lang']) AND array_key_exists($_SESSION['lang'], $languages)) { 

   include 'lang/' . $languages[$_SESSION['lang']] . '.php';

 } else { 
   include 'lang/lv.php';

 } 

Edited by ziedinjsh
Link to comment
Share on other sites

tev ir if (!isset($_SESSION['lang']), bet vajag bez ! pirms isset().

 

if (isset($_SESSION['lang']) && array_key_exists($_SESSION['lang'], $languages)) {

 

}

 

Bez tam tajā $languages arrayā nav ērtāk rakstīt $languages = array('lv','ru');? Un tad array_key_exists vietā izmantot in_array($_SESSION['lang'],$languages). Attiecīgi include 'lang/' . $_SESSION['lang'] . '.php';

Edited by indoom
Link to comment
Share on other sites

lab tad tagad viņam ir jāizskatās šadi:

$languages = array('lv','ru');

if (isset($_SESSION['lang']) && in_array($_SESSION['lang'], $languages)) { 

   include 'lang/' . $languages[$_SESSION['lang']] . '.php';

 } else { 
   include 'lang/lv.php';

 } 

 

bet tad kāds tagad sanāk links? tāds pats kā bija

 

echo "<div id='lang-link' onclick=\"location.href='".$url."?lang=lv';\" alt='Latviešu valoda'>LV</div>";
echo "<div id='lang-link' onclick=\"location.href='".$url."?lang=ru';\" alt='Pусский язык'>RU</div>";

 

vai arī savādāks?

Edited by ziedinjsh
Link to comment
Share on other sites

Paskaties vērīgāk iepriekšejo postu

include 'lang/' . $_SESSION['lang'] . '.php';

 

 

 

tiem linkiem izmanto to ko sākumā ar $_GET darīji, vajadzīgajā vietā saglabājot $_SESSION['lang'] = $_GET['lang'] pēc GET pārbaudes pārbaudes. Protams, tur includes vairs nav vajadzīgas.

 

Šis pēdējais bija tikai, lai klikšķinot pa menju, saglabājas izvēlētā valoda.

 

$languages = array('lv','ru');

if (isset($_GET['lang']) && in_array($_GET['lang'],$languages)) {
$_SESSION['lang'] = $_GET['lang'];
}

if (isset($_SESSION['lang']) && in_array($_SESSION['lang'], $languages)) {  
   include 'lang/' . $_SESSION['lang'] . '.php';
 } else { 
   include 'lang/lv.php';
 } 

Edited by indoom
Link to comment
Share on other sites

Kavacky - sesijā glabāt valodu IR stilīgi. Protams, to ir jāpadod arī linkā, bet ja nu linkā nav, tad būtu jāizmanto sesijā atrodamā.

Un dot līdzi parametrus var tikai tad, ja dažādu valodu kontenti ir vienādi. Ļoooti bieži tā nav un ko tad? Padot līdzi nederīgus parametrus?

Link to comment
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...
×
×
  • Create New...