Hallo, lieber Forum Benutzer. Wir haben in letzter Zeit festgestellt, dass die Kommunikation via https://slack.com/ viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen Möglichkeiten der Kommunikation ist das Forum ein wenig eingeschlafen und weniger Nutzer benutzen das Forum aktiv (trotzdem lohnt es sich evtl. hier nach Lösungen zu suchen oder seine Frage zu stellen).

Wir empfehlen bei Fragen/Problemen aktuell die Frage (zusätzlich) im Slack zu stellen. Dort sind viele kompetente REDAXO Benutzer aktiv und beantworten gerne (Anfänger)Fragen.

Selbst einladen kannst Du dich hier: http://redaxo.org/slack/

Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
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]“