PHP-Code wird in den Templates ausgeführt, sonst würde Contao nicht laufen.
Aber warum wird mein PHP-Code nicht ausgeführt??? liegt es evtl. an YAML???
Nur wenn man sich mal bitte meinen PHP-Code oben genauer anguckt ist das schon klar was ich will: mit Hilfe von einfachen PHP- Befehlen die class-Namen für meine Eigenen divs so anpassen wie ich es brauche.
Um es jetzt genau zu beschreiben was mein Problem ist, werde ich alles ganz ausführlich von der Ausgangs Basis zu meinem gedachten Ziel schildern.
zuerst die original *.tpl - Dateien nach dem Kopieren über das BE.
Hier die Datei "ce_colsetStart.tpl" im Orginal
PHP-Code:
!-- Spaltenset Start //-->
<div class="<?php echo $this->class; ?> <?php echo $this->scclass; ?>"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
<!-- first Column //-->
<div class="<?php echo $this->column; ?>">
<div class="<?php echo $this->inside; ?>"<?php if($this->gap['right']): ?> style="padding-right:<?php echo $this->gap['right']; ?>;"<?php endif; ?>>
Hier die Datei "ce_colsetPart.tpl" im Orginal
PHP-Code:
</div>
</div>
<!-- <?php echo $this->colID ?> Column //-->
<div class="<?php echo $this->class; ?> <?php echo $this->column; ?>"<?php echo $this->cssID; ?>>
<div class="<?php echo $this->inside; ?>"<?php if ($this->gap['left'] || $this->gap['right']) : ?> style="<?php if ($this->gap['right']) : ?>padding-right:<?php echo $this->gap['right']; ?>;<?php endif; ?><?php if ($this->gap['left']) : ?>padding-left:<?php echo $this->gap['left']; ?>;<?php endif; ?>"<?php endif; ?>>
Und nun die dritte und letzte im original:
PHP-Code:
</div>
</div>
</div>
<!-- Spaltenset End //-->
So und nun meine gedachten Anpassungen in denen mein PHP Code nicht ausgeführt wird.
Also hier der Code der Datei "ce_colsetStart.tpl" angepasst von mir
PHP-Code:
<?php
$o_var=$this->class;
if (isset($o_var)){
$a_class_content=array();
$a_class_content=explode(" ",$o_var);
$class_name_mix =$a_class_content[0];
if (isset($a_class_content[1])) {
$class_name_mix=$a_class_content[0]."-".$a_class_content[1];}
else {$class_name_mix ="defaultcls";}
}
?>
<!-- Spaltenset Start //--><!-- Orginalcode //-->
<div class="<?php echo $this->class; ?> <?php echo $this->scclass; ?>" <?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
<!-- first Column //-->
<!-- meine eigener Div Container für den Top-Bereich der ERSTEN Spalte -->
<div class="<?php echo $class_name_mix."-TopStartCol"; ?>" >
<?php echo $class_name_mix ?>1.Div Container<div>
<div class="<?php echo $this->column; ?>">
<div class="<?php echo $this->inside; ?>" <?php if($this->gap['right']): ?> style="padding-right:<?php echo $this->gap['right']; ?>;"<?php endif; ?>>
Der Kürze halber erstmal nur die ce_colsetStart.tpl.
Vielleicht funktioniert mein Code deshalb nicht weil ich versuche Contao eigne Klassenvariablen aufzurufen und diese einfach ignoriert werden? Kann ich mir zwar nicht vorstellen aber wo sonnst liegt mein Denkfehler?
Ganz zum guter letzt mal eine Einfache Beispielgrafik die ich mit Hilfe der DIV und dem PHP in den Beiträgen immer dieses Hintergrund Konstrukt ausgeben möchte.
Auf Antworten wartend und
mit freundlichen Grüßen
tl_mipro_user
Lesezeichen