Eigenes Stylesheet in eigenem Template verwenden

Du hast die Smarty Struktur von OXID Themes (noch) nicht verstanden…

Das Verzeichnis der Startseite liegt im Verzeichnis

./source/Application/views/kcs_theme1/page/shop/start.tpl

Dies war scheinlich ein Tippfehler, weil im Screenshot von Dir passt es.

Das Footer Include ist sinnfrei, weil layout/footer.tpl über layout/page.tpl am Ende eingebunden wird.

Zusätzlich gibt es im shop Verzeichnis bei dir im Screenshot keine Datei footer.tpl.

Diese Aussage stimmt meiner Meinung nicht, bei Dir wird im Code auf base.tpl verwiesen. Guck Dir Smarty Capture Definition an Die reservierte {$smarty} Variable | Smarty

Capture ist ein Zwischenspeicher. Alles innerhalb Capture wird zwischengespeicert und später im layout/base.tpl wieder eingefügt → [{block name=\"head_title\"}][{$sPageTitle}][{/block}]

Wie bereits erwähnt muss es oxstyle heißen und nicht oxscript bei CSS Dateien.

Die Logik der Startseite ist wie folgt:

  1. Im Frontend wird die Startseite aufgerufen - das OXID Framework weiß das die Startseite an den Start Controller übergeben werden muss https://github.com/OXID-eSales/oxideshop_ce/blob/master/source/Core/ShopControl.php#L137

  2. Im Start Controller ist das Smarty Template page/shop/start.tpl definiert https://github.com/OXID-eSales/oxideshop_ce/blob/master/source/Application/Controller/StartController.php#L31

  3. Im Smarty Template page/shop/start.tpl wird über das Capture namens oxidBlock_content die Ausgabe zwischengespeichert und über inlcude auf layout/page.tpl verwiesen https://github.com/OXID-eSales/wave-theme/blob/v1.6.0/tpl/page/shop/start.tpl#L47

  4. Im Template layout/page.tpl wird wieder ein Capture namens oxidBlock_pageBody zwischengespeichert und über include auf layout/base.tpl verwiesen https://github.com/OXID-eSales/wave-theme/blob/v1.6.0/tpl/layout/page.tpl#L81

  5. Erst im Template findet die Ausgabe statt, dort werden z.B. alle zwischengespeicherten Captures für den Inhaltsbereich in einer Schleife ausgegeben [{block name=\"head_title\"}][{$sPageTitle}][{/block}]

1 Like