Ich programmiere zur Zeit eine Extension mit Frontend-Plugin.
Im Frontend soll unter anderem eine mit Datenbankwerten gefüllte Tabelle angezeigt werden. Die Kopfdaten dieser Tabelle sollen allerdings aus der locallang.xml stammen, die im Verzeichnis der Extension im Ordner pi1/ liegt.
Quellcode:
class tx_extkey_pi1 extends tslib_pibase {
var $prefixId = 'tx_extkey_pi1'; // Same as class name
var $scriptRelPath = 'pi1/class.tx_extkey_pi1.php'; // Path to this script relative to the extension dir.
var $extKey = 'extkey'; // The extension key.
var $pi_checkCHash = true;
/**
* The main method of the PlugIn
*
* @param string $content: The PlugIn content
* @param array $conf: The PlugIn configuration
* @return The content that is displayed on the website
*/
function main($content, $conf) {
$this->conf = $conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$this->pi_initPIflexForm(); //enable FlexForms
...
sowie an entsprechender Stelle
$markerArray["###HEAD_BEZEICHNUNG###"] = htmlspecialchars($this->pi_getLL("head_bezeichnung"));
Wobei mit $markerArray dann die Marker in der Template ersetzt werden, was an sich auch funktioniert (z.B. mit Datenbankdaten). Nur die locallang.xml scheint Probleme zu machen. Dort steht:
<T3locallang>
<meta type="array">
<type>module</type>
<description>Language labels for plugin "tx_extkey_pi1"</description>
</meta>
<data type="array">
<languageKey index="default" type="array">
<label index="head_bezeichnung">Sport</label>
[...]
</languageKey>
</data>
<data type="array">
<languageKey index="de" type="array">
<label index="head_bezeichnung">Sportart</label>
[...]
</languageKey>
</data>
</T3locallang>
Ich hatte dieses Problem schon an anderer Stelle und konnte es auch dort nicht lösen. Kann mir jemand helfen?