[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Sprachenwechsel: Nur bestimmte sprachen, ausgeben
Seite 1 von 1

Sprachenwechsel: Nur bestimmte sprachen, ausgeben

Verfasst: 7. Jan 2016, 11:39
von Include
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;
?>

Re: Sprachenwechsel: Nur bestimmte sprachen, ausgeben

Verfasst: 7. Jan 2016, 13:04
von Ingo

Code: Alles auswählen

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

Re: Sprachenwechsel: Nur bestimmte sprachen, ausgeben

Verfasst: 7. Jan 2016, 15:27
von Include
Danke Ingo!
Das hat geklappt! :wink: