Merkwürdiges Verhalten des ViewHelper f:format.html [Gelöst]

  • greenbanana greenbana...
    Jedi-Meister
    0 x
    409 Beiträge
    0 Hilfreiche Beiträge
    06. 05. 2011, 14:48

    Hallo Community

    Ich habe das Problem, dass der ViewHelper [b]format.html[/b] nur gewisse HTML-Sonderzeichen umwandelt (analog htmlspecialchars).

    [b]Template[/b]

    1. <f:format.html>{content}</f:format.html>

    [b]Input (Ausschnitt):[/b]
    Nachfolgendes wird als String dem ViewHelper übergeben:

    1. <div class="tx-commerce-pi1">
    2. <input type="hidden" name="tx_commerce_pi1[catUid]" value="5" />
    3. <div class="commerce-single">

    [b]Output (gleicher Ausschnitt)[/b]:
    Nachfolgendes wird dann im Quelltext ausgegeben:
    [b]<div class="tx-commerce-pi1">
    <p>&lt;input type=&quot;hidden&quot; name=&quot;tx_commerce_pi1[catUid]&quot; value=&quot;5&quot; /&gt;</p>
    <div class="commerce-single">
    [/b]

    [b]Hintergrund-Info:[/b]
    Der Content {content} welcher dem ViewHelper übergeben wird, wird über cObj->RECORDS geholt:

    1. $this->cObj = t3lib_div::makeInstance('tslib_cObj');
    2. $tt_content_conf = array(
    3. 'tables' => 'tt_content',
    4. 'source' => $uidlist,
    5. 'dontCheckPid' => 1
    6. );
    7. $content = $this->cObj->RECORDS($tt_content_conf);
    8. return $content;

    Hat mir hierzu jemand einen Tipp? Vielen Dank!


  • 1
  • xandio xandio
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    09. 05. 2011, 16:12

    Servus!

    Das unerwünschte Verhalten liegt offenbar an lib.parseFunc_RTE, die standardmäßig vom format.html-ViewHelper verwendet wird.

    Sobald Du einen Wert an Fluid übergibst, wird dieser ohnehin durch htmlspecialchars() geschickt, weshalb folgendes ausreichen müsste.

    1. [...]
    2. $this->view->assign('content', $this->cObj->RECORDS($tt_content_conf));

    Und im Template lediglich:

    1. {content}

    Viele Grüße,
    Xandi

  • greenbanana greenbana...
    Jedi-Meister
    0 x
    409 Beiträge
    0 Hilfreiche Beiträge
    09. 05. 2011, 16:38

    Hallo Xandi

    Vielen Dank, dass du dich meinem Problem angenommen hast. Leider führt das Weglassen des ViewHelpers dazu, dass mir nun sämtlicher Quelltext, welcher das Plugin generieren sollte, als Text ausgegeben wird:

    Frontend (Plugin-Ausgabe):
    [b]<p> <!-- CON­TENT ELE­MENT, uid:254/list [begin]--> </p><div id="c254" class="csc-de­fault" ><p> <!-- Plu­gin in­s­er­ted: [begin]--> </p><ul da­ta-ro­le="list­view"> <li> <a href="http://?www.domain.?ch/gewinnen/&?amp;cHash=5fee9d­c7b57828­ab­fd6c1f94­fa5­ca370" title="Diese Woche ein­log­gen und ge­win­nen">[/b]

    Quelltext (Plugin-Ausgabe):
    [b]&lt;p&gt; &lt;!-- CON­TENT ELE­MENT, uid:254/list [begin]--&gt; &lt;/p&gt;&lt;div id="c254" class="csc-de­fault" &gt;&lt;p&gt; &lt;!-- Plu­gin in­s­er­ted: [begin]--&gt; &lt;/p&gt;&lt;ul da­ta-ro­le="list­view"&gt; &lt;li&gt; &lt;a href="http://?www.domain.?ch/gewinnen/&amp;?amp;cHash=5fee9d­c7b57828­ab­fd6c1f94­fa5­ca370" title="Diese Woche ein­log­gen und ge­win­nen"&gt[/b]

    Hast du evt. noch einen anderen Tipp?

    Gruss und Danke

  • xandio xandio
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    09. 05. 2011, 17:15

    Hallo greenbanana!

    Oh, ich habe fälschlicherweise angenommen, dass Du Sonderzeichen kodieren möchtest, aber es ist ja genau umgekehrt. :)

    Die Angabe eines leeren parseFunc-Pfades im ViewHelper-Tag war zumindest bei mir erfolgreich.

    1. <f:format.html parseFuncTSPath="">{content}</f:format.html>

    Gib mir bitte Bescheid, ob das auch bei Dir funktioniert.

    Danke,
    Xandi

  • greenbanana greenbana...
    Jedi-Meister
    0 x
    409 Beiträge
    0 Hilfreiche Beiträge
    09. 05. 2011, 18:22

    Hallo Xandi

    Vielen Herzlichen Dank für deinen Tipp. Die parsFunc einfach leer zu lassen, darauf wäre ich so schnell nicht gekommen!

    Wünsche einen schönen Abend
    Gruss aus Winterthur (CH) ;-)

  • zabinetta zabinetta
    Sternenflotten-Admiral
    0 x
    178 Beiträge
    3 Hilfreiche Beiträge
    20. 06. 2012, 15:02

    hat mir auch geholfen, die html5-Tags mitzurendern. Danke euch!

  • jank jank
    Sternenflotten-Admiral
    0 x
    158 Beiträge
    0 Hilfreiche Beiträge
    29. 06. 2012, 15:26

    Ab Fluid 1.4 gibt es auch den f:format.raw ViewHelper für raw Ausgaben.

  • zabinetta zabinetta
    Sternenflotten-Admiral
    0 x
    178 Beiträge
    3 Hilfreiche Beiträge
    30. 07. 2012, 10:59

    hab auch nochmal geguckt. der Raw-Helper ist der gute (der escape-helper, der auch noch da wäre, ist deprecated)

    1. <f:format.raw>{content}</f:format.raw>

  • 1