Zum Inhalt springen

namespace in TYPO3v6 in html Tempalte richtig setzten

Erstellt am 28. März 2013 · 2 Antworten · letzte Antwort am 8. Januar 2014

Tags: Fluid, ViewHelper, TYPO3 6, Frage

sobi555 ·

Hallo zusammen

folgende Ausgangssitation:

so_carmarkt\Classes\ViewHelpers\TrimViewHelper.php

class TrimViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {
 
	/**
	 * @param mixed $value The value to output
	 * @return string
	 */
	public function render($value = NULL) {
		return trim("value" );
	}
}

Vendor name: TYPO3SOL

HTML Template:

{namespace fn=\TYPO3SOL\SoCarmarkt\Classes\ViewHelpers\TrimViewHelper}
<f:layout name="Default" />

This Template is responsible for displaying a single view for a domain object

If you modify this template, do not forget to change the overwrite settings
in /Configuration/ExtensionBuilder/settings.yaml:
  Resources:
    Private:
      Templates:
        Show.html: keep

Otherwise your changes will be overwritten the next time you save the extension in the extension builder

<f:section name="main">
  <fn:trim />
<f:flashMessages />
</f:section>

So, ich bekomme keinen Fehler. Schreibe ich allerdings namespace fn=TYPO3 wird mir ein Fehler (Klasse konnte nicht geladen werden) aussgegeben.

Was um alles in der Welt mache ich falsch!??

LG - Simon

froemken ·

Fast richtig. Hatte gerade das gleiche Problem. Hab kurzer Hand in den Quellcode geschaut, dort steht in TemplateParser.php für das Pattern $SCAN_PATTERN_NAMESPACEDECLARATION unteranderem folgendes:

=\\s*(?P<phpNamespace>(?:[A-Za-z0-9\.]+|Tx)

Nach dem = dürfen Leerstellen kommen und dann muss mit Buchstaben und Zahlen begonnen werden. Es wird nicht auf Backslash geprüft. Somit muss die Zeile so lauten:

{namespace fn=TYPO3SOL\SoCarmarkt\ViewHelpers}

Stefan