Zum Inhalt springen

Constant Wert über extension ausgeben

Erstellt am 12. Mai 2006 · 1 Antwort · letzte Antwort am 23. Oktober 2006

Tags: Frage

Mopps ·

Ich habe eine extension, die mir ein kleines Menü anzeigt und entsprechend reagiert, je nach dem was gedrückt wird. Das Menü wird wie folgt erzeugt:

...

$this->piVars['size'] = 'base';
$content.='<ul><li>';
$content.= $this->pi_linkTP_keepPIvars('standard',$this->piVars,true);
$this->piVars['size'] = 'inc';
$content.='</li><li>';
$content.= $this->pi_linkTP_keepPIvars('groesser',$this->piVars,true);
$this->piVars['size'] = 'dec';
$content.='</li><li>';
$content.= $this->pi_linkTP_keepPIvars('kleiner',$this->piVars,true);
$content.='</li></ul>';
return $content;

...

Alles funktioniert auch wunderbar. Da alles zweisprachig vorhanden ist möchte ich, dass auch die 'standard', 'groesser' und 'kleiner' in der richtigen Sprache erscheinen. Ich dachte ich mach das wie an anderen Stellen auch über Constant Werte, also in der extension etwa:

$this->pi_linkTP_keepPIvars('{$font}',$this->piVars,true);

und im Constant Feld dann eben:

#### Deutsch ####
[globalVar = GP:L = 0]
      font = kleiner
[global] 

#### Englisch ####
[globalVar = GP:L = 3]
      font = smaller
[global]

naja und das geht irgendwie nicht und ich komm auch nicht weiter.

Mopps ·

So inzwischen bin ich klüger geworden. Vielleicht stolpert noch jemand über diesen Eintrag und kommt dadurch weiter.

In der Extension in der main muss stehen:

function main($content,$conf) {
   $this->conf=$conf;
   $this->pi_setPiVarDefaults();
   
   // das ist gemeint
   $this->pi_loadLL();

   [...]

Im Ordner "pi1" der Extension eine locallang.php anlegen. Inhalt kann z.B. so aussehen:

<?php

$LOCAL_LANG = Array (
	'default' => Array (
                 'pi_header' => 'Fontsize',
                 'pi_standard' => 'Normal',
                 'pi_groesser' => 'Bigger',
                 'pi_kleiner' => 'Smaller',
       	),
	'de' => Array (
                 'pi_header' => 'Schriftgrösse',
                 'pi_standard' => 'Standard',
                 'pi_groesser' => 'Grösser',
                 'pi_kleiner' => 'Kleiner',
	),
);
?>

Die Ausgabe in der main() ist dann z.B. so:

$content .= "<h3 class='subtitel'>".htmlspecialchars($this->pi_getLL("pi_header"))."</h3>";

$this->piVars['size'] = 'base';
$content .= '<ul><li>';
$content .=$this->pi_linkTP_keepPIvars(htmlspecialchars($this->pi_getLL("pi_standard")),$this->piVars,true);

$this->piVars['size'] = 'inc';
$content .= '</li><li>';
$content .= $this->pi_linkTP_keepPIvars(htmlspecialchars($this->pi_getLL("pi_groesser")),$this->piVars,true);

$this->piVars['size'] = 'dec';
$content .= '</li><li>';
$content .= $this->pi_linkTP_keepPIvars(htmlspecialchars($this->pi_getLL("pi_kleiner")),$this->piVars,true);
$content .= '</li></ul>';

return $content;