it-swarm.com.de

Drucken Sie die aktuelle Basissprache in tpl.php

Ich habe einen Anker statisch mit meiner /cart Seite auf page.tpl.php Verknüpft, aber da es sich um eine mehrsprachige Website handelt, geht es auf http://localhost/fr Immer noch zu http://localhost/cart statt http://localhost/fr/cart

Ich möchte wissen, wie der aktuelle Basissprachenpfad oder base_url gedruckt und mit/cart verkettet wird

vielen Dank.

3
user23288

Wenn Sie den Warenkorb-Link in der Vorlage anzeigen möchten, tun Sie dies besser mit der Funktion l oder rl , Beispiel:

in der Datei page.tpl.php:

<ul class="">
  <li><?php print l(t('Cart', 'cart')) ?></li> // first way
  <li><a href="<?php print url('cart') ?>">Cart</a></li> // the second way
</ul>
8
xurshid29

Dies sollte in Ihrer page.tpl.php funktionieren

global $language;
global $base_url;
//get the current language
$current_lang = $language->language;
//get the default language
$default_language = language_default();

switch($current_lang) {
  case($default_language):
    $url = $base_url."/cart";
    break;
  default:
    $url = $base_url."/". $current_lang ."/cart";
}

Ich habe den Teil language_default() gemäß dem Vorschlag von Clive hinzugefügt. Weitere Informationen finden Sie unter global $language .

3
Kojo

Wenn Sie nur "en" oder "nl" irgendwo drucken müssen, abhängig von der aktuellen Sprache:

<?php
  global $language ;
  $curlang = $language->language;
?>

This is the prefix of the current language: <?php print $curlang; ?>
3
cptstarling

cptstarling ist richtig. Ich erhielt Fehler von SEO-Berichten, in denen nach Sprachdeklarationen gefragt wurde, und erstellte einfach eine benutzerdefinierte HTML.tpl.php-Themenvorlage, die Folgendes enthielt:

<!DOCTYPE html lang="<?php echo $language->language; ?>">

Ich habe keine Variable deklariert, da dies der einzige Ort war, an dem die Sprache PHP) angezeigt werden musste.

0
Philip Stier