contao / core

Contao 3 → see contao/contao for Contao 4
GNU Lesser General Public License v3.0
490 stars 213 forks source link

if-Bedingung für Insertags #2837

Open ghost opened 12 years ago

ghost commented 12 years ago

Eine if-Abfrage als Inserttag, das bestimmte evn-Tags auf falsch/wahr überprüft. Es sollte als HTML in den Inhaltselementen verwendet werden und bestimmte andere Elemente anzeigen, oder verbergen

Ein solches Konstrukt wäre denkbar:

block1: HTML {{if}}{{env::page_id}} == 1 block 2: Text mit Bild block 3: HTML {{else}} block 4: Downloads block 5 {{/if}}

ich weiß, dass so etwas ähnliches durch die Erweiterung boxes geht, aber so kann alles Mögliche überprüft werden: die IP, der Referer, die Elternkategorie, das bringt noch mehr Flexibilität.

--- Originally created by rumata on February 2nd, 2011, at 04:17pm (ID 2837)

Aybee commented 12 years ago

Das geht mit: if($this->replaceInsertTags( '{{env::page_id}}' ) == 1) { CODE };

--- Originally created on February 3rd, 2011, at 03:04am

leofeyer commented 12 years ago

Nur so als Anmerkung zum geposteten Code: Die Funktion replaceInsertTags() ist im PHP-Kontext vollkommen überflüssig und kostet zudem mehr Ressourcen, als die eigentliche PHP-Variable zu verwenden.

// Suboptimal
if ($this->replaceInsertTags( '{{env::page_id}}' ) == 1) { CODE };

// Besser
global $objPage;
if ($objPage->id == 1) { CODE };

--- Originally created on February 3rd, 2011, at 10:13am

ghost commented 12 years ago

Danke für euer Feedback!

Ich sprach von der Implementierung dieser Abfrage im -Frontend- Backend so, dass diese auch ohne php Includes zugänglich ist. Damit man als CODE direkt die Inhaltsblöcke ausgeben kann. Ist so etwas möglich?

Zum Beispiel eine refererabhängig passende Meldung. Zum Beispile man wird nach der Absendung des Kontaktformulares auf die Startseiten weiter geleitet mit der Anmerkung oben, dass die Daten erfolgreich abgeschickt wurden. Oder bestimmte Blöcke werden nur auf bestimmten Seiten angezeigt - damit ginge es noch einfacher, als zur Zeit möglich.

--- Originally created by rumata on February 3rd, 2011, at 10:36am

leofeyer commented 12 years ago

Ich überlege schon seit längerem, jedem Modul bzw. Inhaltselement eine Bedingung mitzugeben, anhand derer entschieden wird, ob es sichtbar ist oder nicht. Die Lösung mittels Inserttag ist relativ unhandlich und für Module so gar nicht möglich, aber ich habe schon eine Idee :)

--- Originally created on February 3rd, 2011, at 06:54pm

ghost commented 12 years ago

schön, dass ich helfen konnte ;) ich freue mich auf die Weiterentwicklung

--- Originally created by rumata on February 3rd, 2011, at 07:19pm

ghost commented 12 years ago

Ich überlege schon seit längerem, jedem Modul bzw. Inhaltselement eine Bedingung mitzugeben, anhand derer entschieden wird, ob es sichtbar ist oder nicht.

Ebenso würde ich dies für die Artikel begrüssen.

--- Originally created by innovativecreation on May 20th, 2011, at 11:45pm

amenk commented 9 years ago

Modul um Artikeln/Content/Modulen Bedingungen mitzugeben: https://github.com/iMi-digital/imi_conditional_content