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

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
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 „Allgemeines [R4]“