Include
Beiträge: 107
Registriert: 30. Mär 2007, 21:22

Sprachenwechsel: Nur bestimmte sprachen, ausgeben

7. Jan 2016, 11:39

Hallo Forum, ich habe mich mit dem Thema REDAXO und php schon lange nicht mehr beschäftigt. Nun habe ein kleines Problem. Bei einer alten Seite verwende ich ein Sprachen Wechsel Template. Nun habe ich drei Sprachen angelegt de/en/es. Da ich de/en bereits fertig übersetz habe, möchte ich nun diese beiden Sprachen schon mal online stellen und an "es" weiter arbeiten. Dafür würde ich gerne im Sprachen-Wechsler Template nur die Sprache "es" also "ID2" aus lassen. Könnte ich das mit so etwas wie if ($REX['CLANG'] != 2){...} ausklammern?

Vielleicht kann weis jemand wie das geht?

Vielen Dank

Ich verwende dieses Sprachen Wechsler Template:

Code: Alles auswählen

<?php
$tpl = array(
  'list' => '<ul id="menu-top-menu" class="menu">{ITEMS}</ul>',
  'elem' => '<li id="lang-{ID}"><a href="{HREF}">{NAME}</a></li>',
  'active-elem' => '<li id="lang-{ID}" class="active">{NAME}</li>',
);

$out = '';

do {

// nur anzeigen, wenn mehr als eine Sprache
if(count($REX['CLANG']) <= 1)
 break;

// evtl. vorhandene Parameter in der Sprachwahl-URL übergeben
$params = array();
foreach ($_GET as $key => $value)
{
  if ($key == 'clang' OR $key == 'article_id')
    continue;
  
  $params[$key] = $value;
}

// aktuelle Sprache
$clang = rex_get('clang', 'int', REX_CLANG_ID);

$lang_elems_out = '';

foreach($REX['CLANG'] as $id => $name)
{
  $tplkey = 'elem';
  if($id == $REX['CUR_CLANG'])
    $tplkey = 'active-elem';
  
  // tpl: [active-]elem
  $lang_elems_out .= str_replace(
    array('{ID}', '{HREF}', '{NAME}'),
    array(
      strtolower(preg_replace('~[^a-zA-Z0-9_-]+~sm', '', $name)),
      rex_geturl('', $id, $params),
      htmlspecialchars($name)
    ),
    $tpl[$tplkey]
  );
}


// tpl: list
$out .= str_replace(
  array('{ITEMS}'),
  array($lang_elems_out),
  $tpl['list']
);

} while(false);

echo $out;
?>

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: Sprachenwechsel: Nur bestimmte sprachen, ausgeben

7. Jan 2016, 13:04

Code: Alles auswählen

foreach($REX['CLANG'] as $id => $name) {
    if ($name == 'es') continue;
    ....
}
 

Include
Beiträge: 107
Registriert: 30. Mär 2007, 21:22

Re: Sprachenwechsel: Nur bestimmte sprachen, ausgeben

7. Jan 2016, 15:27

Danke Ingo!
Das hat geklappt! :wink:

Zurück zu „Templates/Navigationen [R4]“