Unsere Ideen für Ihr Projekt

Das Contao-Calculator-Bundle

Das Calculator-Bundle ist eine Erweiterung für Contao, mit der es möglich ist, eine Vielzahl an mathematischen Operationen per Insert-Tag auszuführen. Die Erweiterung soll es durch Benutzung von Insert-Tags und der Symfony Expression Language einfach machen, Werte zu berechnen und auszugeben. Dabei können Sie auch Variablen aus PHP und deren Werte dem System bekanntmachen, so dass Sie damit rechnen können, z.B. für die Portoberechnung in Shop-Systemen.

Was ist damit möglich?

Die zu Verfügung stehenden Operationen sind Arithmetischen Operationen, Vergleichsoperationen und Logische Operationen. Generell sind alle Operationen, die mit der Symfony Expression Language gemacht werden können, auch mit dieser Erweiterung möglich. So zum Beispiel das Verketten von Strings und die Verwendung von Variablen. Im Gegensatz zur Evaluation von PHP-Ausdrücken kann hier kein ausführbarer PHP-Code über den Redakteur eingeschleust werden.

Verwendung und Struktur

Durch die Kombination von Insert-Tags und der Symfony Expression Language ist es mit dem Calculator-Bundle möglich, Berechnungen ohne weitere komplizierte Befehle durchzuführen. Der Insert-Tag muss wie folgt aufgebaut sein, damit Contao ihn als solchen erkennt: Geöffnet wird der Insert-Tag mit zwei geschweiften Klammern, danach folgt die Bezeichnung des Insert-Tags, in unserem Fall calc für Calculator. Danach kommt die gewollte Operation. Getrennt werden die beiden Angaben mit zweifachen Doppelpunkten und geschlossen wird der Insert-Tag wieder mit zwei geschweiften Klammern.

Mögliche Operationen

Auflistung der möglichen Operationen und deren Ausgaben:
{{calc::5+7}}
12 (Addition)
{{calc::35-12}}
23 (Subtraktion)
{{calc::24/3}}
8 (Division)
{{calc::4*13}}
52 (Multiplikation)
{{calc::37%8}}
5 (Modulo)
{{calc::2**4}}
16 (Potenz)
{{calc::25**0.5}}
5 (Quadratwurzel)

Benutzung eigener Variablen

Der Vorteil der Symfony Expression Language ist die Möglichkeit, Variablen zu setzen und diese dann für verschiedenste Operationen zu verwenden. Diese Variablen können entweder in einer config.yml definiert werden, dann muss diese mit dem Array parameters beginnen und unter www/app/config ihrer Webseite abgelegt werden. Oder sie fügen die Variablen in die parameters.yml ihrer Webseite ein, so wie im Beispiel rechts.

{{calc::trilobit}}
123
{{calc::trilobit*3}}
369
{{calc::contao['partner'][0]['type']}}
Webdesign
{{calc::contao['partner'][0]['test'] + trilobit}}
165

In Kombination mit dem Constants-Bundle

Die Benutzung des Calculator-Bundles zusammen mit dem Constants-Bundle eröffnet nochmal Möglichkeiten und Vereinfachungen in der Benutzung: durch die Kombination beider Bundles ist es möglich, Konstanten zu definieren und damit auch zu rechnen. Die Konstanten (z.B. Mehrwertsteuersatz o.ä.) kann der Redakteur dann wieder an einer Stelle im Backend definieren, so dass sie überall genutzt werden. Jedoch muss darauf geachtet werden, das bei der Ausgabe mit dem 'calc' Insert-Tag einfache Hochkommas um den 'const' Insert-Tag gesetzt werden, falls die benutzte Konstante ein String ist.

{{calc::{{const::Mitarbeiter}}}}
12
{{calc::{{const::Mitarbeiter}} * 3}}
36
{{calc::'{{const::Standort}}, den {{const::Datum}}'}}
Karlsruhe, den 2018-10-23

Beispiel zur Verwendung von Variablen

Vor Verwendung einer neu ergänzten Variablen, sollte der Cache geleert werden.

{{calc::anzBrezel*preisBrezel}}
5.95

Wo bekomme ich die Contao 4 Erweiterung her?

Die trilobit Contao-Erweiterung Calculator kann über zwei Wege installiert werden:

  • Contao Manager
    hier nach "trilobit-gmbh/contao-calculator-bundle" suchen und installieren
  • direkt über Composer
php composer.phar require trilobit-gmbh/contao-calculator-bundle

Fehler

...können passieren. Wenn Ihnen etwas auffällt oder Sie weitere Wünsche und Feedback für uns haben - nur her damit!


Hilfe

Bei Fragen und Anregungen zu der Erweiterung stehen wir natürlich gerne zur Verfügung. Nutzen Sie einfach unser Kontaktformular.


Wir engagieren uns gerne und unentgeldlich für die Contao-Community. Am liebsten ist es uns, wenn wir durch unser Beispiel andere dazu motivieren sich ebenfalls einzubringen. Sollte Ihnen das aber nicht möglich sein, dann freuen wir uns auch über eine kleine Spende für unsere Arbeit. Auch das motiviert uns weiter zu machen.


Für diese Erweiterung spenden

Diese Erweiterung hat Ihnen gefallen und Sie nutzen sie auch in Ihren Kundenprojekten? Hier können Sie uns unterstützen.

...oder spenden Sie per Überweisung auf folgendes Konto bei der EthikBank:

BIC: GENODEF1ETK
IBAN: DE77 8309 4495 0003 2066 02
Verwendungszweck: Spende Contao-Erweiterung