TYPO3 – Fluid – Checkbox – ViewHelper

veröffentlicht in Software Engineering am 24. Feb. 2012 Tags: , , ,

Frage des Tages:

„Wie kann man in einem TYPO3 Fluid Template die Inhalte sauber darstellen, die folgende Anforderungen erfüllen ?“.

Im Extbase basierten Backend soll es Multiple Checkboxen geben, die auf ein Integer gemapped werden. In unserem Fall sind dies z.B. Organisationseinheiten.

In der TCA von TYPO3 lässt sich das mit ‚type‘ = ‚check‘ umsetzen, doch wie ließt man selbiges wieder aus, wenn die Anwendungslogik von TYPO3 meint, es in einer Binärdarstellung in der Datenbank halten zu müssen ?

Nach einem Tipp für die richtige PHP-Funktion, haben wir einen kleinen ViewHelper gebaut. Den Code wollen wir euch nicht vorenthalten.

Vielleicht kann ihn der eine oder andere in seinen Projekten auch gebrauchen.

class Tx_Initos_ViewHelpers_CheckViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
        /**
         * ViewHelper to get state of check
         * @param int $int
         * @param int $pos
         */
  public function render($int = 0, $pos = 0) {
    $s = decbin($int);
    if(strlen($s) > ($pos+1))
      return false;
    return substr($s, -($pos+1), 1);
  }
}

Im Fluid Template kann man dies dann mit der folgenden Inline-Syntax abfragen:

{namespace initos = Tx_Initos_ViewHelpers}
<f:if condition="{initos:check(int: '{person.position}', pos: '{type}')}">
<f:then>
	Checkbox 1 gesetzt
</f:then>
</f:if>

Die ViewHelper in Fluid sind das Schweizer Taschenmesser, um erfolgreich und effizient das passende Template für die Extbase Extention von TYPO3 zu bauen.

Wir werden deshalb gerne unser Wissen teilen und stehen für Fragen natürlich wie immer gerne zur Verfügung.

Über Markus Schneider

Als Analytiker und Informatiker ist Markus Schneider Experte für Shop- und ERP-Systeme. Dabei setzt er sein fundiertes Wissen insbesondere im Bereich der Open Source Software ein und kann verschiedene
Anwendungssysteme, z.B. Oxid eSales, OTRS, und Solr Suche, darin integrieren. Auch mit der Onlineshopsoftware Magento kennt sich Herr Schneider bestens aus. Zudem greift er auf gesammelte Erfahrungen unterschiedlicher Systeme wie Sage, SAP und speziell OpenERP / Odoo zurück.

Kommentare deaktiviert für TYPO3 – Fluid – Checkbox – ViewHelper

Kommentare sind gesperrt.