TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Marker werden nicht aus der locallang.xml ersetzt


Autor Nachricht
Verfasst am: 30. 08. 2010 [17:10]
amyjazz
Themenersteller
Dabei seit: 26.08.2010
Beiträge: 25
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:

PHP
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

PHP
$markerArray["###HEAD_BEZEICHNUNG###"] = htmlspecialchars($this->pi_getLL("head_bezeichnung&quot<img src="typo3conf/ext/mm_forum//res/smilies/icon_wink.gif" alt="icon_wink.gif" />);


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:

HTML
<T3locallang>
	<meta type="array">
		<type>module</type>
		<description>Language labels for plugin &quot;tx_extkey_pi1&quot;</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?
Profil
Verfasst am: 31. 08. 2010 [10:49]
amyjazz
Themenersteller
Dabei seit: 26.08.2010
Beiträge: 25
Kann mir wirklich niemand helfen? Ich habe meiner Meinung nach alles so gemacht, wie in zahlreichen Büchern, Online-Manuals etc. beschrieben. Dennoch funktioniert es einfach nicht. Warum?
Profil
Verfasst am: 31. 08. 2010 [15:35]
amyjazz
Themenersteller
Dabei seit: 26.08.2010
Beiträge: 25
So, schlussendlich habe ich durch erneutes Anlegen der Extension den Fehler gefunden.
Darf natürlich nur ein Block mit data type="array" sein, also so:

HTML
<data type="array">
		<languageKey index="default" type="array">
			<label index="head_bezeichnung">Sportart</label>
			[...]
		</languageKey>
<languageKey index="de" type="array">
			<label index="head_bezeichnung">Sportart</label>
			[...]
		</languageKey>
	</data>

Profil