Wie bekomm ich eigentlich den Warenkorb fest auf die rechte Sidebar?Auf allen Seiten,auch Artikel Detailseiten usw.
[quote=„Haijo“]Wie bekomm ich eigentlich den Warenkorb fest auf die rechte Sidebar?Auf allen Seiten,auch Artikel Detailseiten usw.[/quote] m.E., indem Du den in einige Template-Dateien einbaust… account\index.tpl account\login.tpl blog\detail.tpl blog\index.tpl campaign\index.tpl checkout\cart.tpl custom\index.tpl forms\index.tpl home\index.tpl index\index.tpl listing\index.tpl note\index.tpl register\index.tpl tellafriend\index.tpl ticket\detail.tpl ticket\listing.tpl ticket\request.tpl
Im Hinblick auf die einfache Änderung des Layouts und die einfache Positionierbarkeit von Elementen muss m.E. noch einiges am Shopware-Template-Konzept verbessert werden. So ist das zu statisch und limitierend für andere Layouts.
Möchtest du den Warenkorb immer rechts anzeigen, oder wie? Also auf allen Unterseiten? Oben soll der dann entfallen?
Genau,immer rechts.Dafür oben dann nicht mehr…
Wie mach ich das jetzt am besten???
Hat mir jemand ein paar detailiertere Vorschläge??? Das wäre super
[quote=„Haijo“]Hat mir jemand ein paar detailiertere Vorschläge??? Das wäre super[/quote] Hey Haijo, ich denke es wäre am einfachsten, wenn du dir das Template „_default/frontend/index/index.tpl“ einmal duplizierst und in den Ordner „_local/frontend/index/index.tpl“ ablegst, da für diese Anpassung die Grundstruktur des Templates modifiziert werden muss. Dann würde ich den „include“-Befehl in Zeile 62 auskommentieren und in Zeile 90, wo der Block „frontend_index_content_right“ definiert wird, würde ich eine div-Box setzen, welche dann den „include“-Befehl der checkout_actions.tpl sowie den Block „frontend_index_content_right“ beinhaltet. Der Rest ist dann nur noch eine Frage des Stylings („position: absolute“ entfernen und Breiten anpassen)… Um den Warenkorb dann auf bestimmten Unterseiten auszublenden würde ich dann per CSS die Klasse des Bodys abfragen und je nach Bereich per „display: none;“ ausblenden. Deine angepasste „_local/frontend/index/index.tpl“ sollte dann so aussehen: [code]{** * Shopware 3.5 Template * * @category Shopware * @package Shopware_Template * @subpackage Shopware_Template_Frontend * @copyright Copyright © 2010 shopware AG (http://www.shopware.de) * @author hl/shopware AG * @author stp/shopware AG *} {block name=„frontend_index_start“}{/block}<?xml version="1.0" ?>{block name=„frontend_index_doctype“} {/block} {block name=‚frontend_index_header‘} {include file=‚frontend/index/header.tpl‘} {/block}
{* Message if javascript is disabled *} {block name=„frontend_index_no_script_message“}
{s name=„IndexNoscriptNotice“}Um {$sShopname} in vollen Umfang nutzen zu können, empfehlen wir Ihnen Javascript in Ihren Browser zu aktiveren.{/s}
{/block}
{* Shop header *} {block name=‚frontend_index_navigation‘}
{* Language and Currency bar *} {block name=‚frontend_index_actions‘} {include file=‚frontend/index/actions.tpl‘} {/block} {* Shop logo *} {block name=‚frontend_index_logo‘}
[{$sShopname}]({url controller=‚index‘} „{$sShopname} - {s name=‚IndexLinkDefault‘}{/s}“)
{/block} {* Shop navigation *} {block name=‚frontend_index_checkout_actions‘} {include file=‚frontend/index/checkout_actions.tpl‘} {/block} {block name=‚frontend_index_navigation_inline‘}{/block}
{/block} {* Maincategories navigation top *} {block name=‚frontend_index_navigation_categories_top‘} {include file=‚frontend/index/categories_top.tpl‘} {/block} {* Search *} {block name=‚frontend_index_search‘} {include file=„frontend/index/search.tpl“} {/block} {* Breadcrumb *} {block name=‚frontend_index_breadcrumb‘} {include file=‚frontend/index/breadcrumb.tpl‘} {/block} {* Content section *}
{* Content top container *} {block name=„frontend_index_content_top“}{/block} {* Sidebar left *} {block name=‚frontend_index_content_left‘} {include file=‚frontend/index/left.tpl‘} {/block} {* Main content *} {block name=‚frontend_index_content‘}{/block} {* Sidebar right *} {block name=‚frontend_index_content_right‘}{/block}
{* Footer *} {block name=„frontend_index_footer“} {include file=‚frontend/index/footer.tpl‘} {/block}
{block name=„frontend_index_shopware_footer“}
{s name=„IndexRealizedWith“}Realisiert mit{/s} {s name=„IndexRealizedShopsystem“}Shopware{/s}
{/block} {block name=‚frontend_index_body_inline‘}{/block} [/code]
mmmm,hab jetzt mal deinen Code übernommen und dann mal zum testen noch das geändert {* Sidebar right *} {block name=‘frontend_index_content_right’} {include file=‘frontend/index/checkout_actions.tpl’} {/block} einfach mal oben rausgenommen und in den sidebar right block eingesetzt,geht aber nicht.Der Warenkorb verschwindet oben,aber rechts tut sich gar nichts…???
Das Problem mit der Block habe ich auch. Dieser Block wird anscheinend von allen Seiten überschrieben. Ich habe damals auch versucht in diesem Block eigenen Code unter zu bekommen. Leider auch ohne Erfolg. templates-und-design-f14/frontend-index-content-right-t1335.html
[quote=„ottscho“]Das Problem mit der Block habe ich auch. Dieser Block wird anscheinend von allen Seiten überschrieben. Ich habe damals auch versucht in diesem Block eigenen Code unter zu bekommen. Leider auch ohne Erfolg. templates-und-design-f14/frontend-index-content-right-t1335.html[/quote] Das ist eine der dunkleren Ecken von Shopware: die mangelnde Flexibilität bezüglich Layout-Änderungen. (An das Templatedesign ist man m.E. zu systemtechnisch und zu wenig anwendungsorientiert heran gegangen.) In der Version 4 ist wohl geplant, das grundlegend zu verbessern, das dauert dann aber noch bis Mitte 2011… Eine Brutalo-Lösung könnte man mit jQuery machen… Man verschiebt den Warenkorb aus seiner jetzigen Position in die rechte Spalte… Ist aber nicht so ganz einfach…
Hi, es ist klar das es so nicht funktionieren kann. In den Controller-Templates wird überall die rechte Spalte selbst definiert. Und im Detail-Controller gibt es z.B. auch keine rechte Spalte. Folgendes Beispiel sollte aber an den meisten Stellen funktionieren: [code] {extends file=’…/_default/frontend/index/index.tpl’} {block name=‘frontend_index_content_right’}
Test
{$smarty.block.child} {/block} [/code] Viele Grüße Heiner
Und wo soll dieser Code denn hin? Nicht etwa auf jede einzelne Seite,oder???
Nein, das muss nur in ein „frontend/index/index.tpl“-Template.
geht nicht??? hab das jetzt mal so eingefügt in meine frontend/index/index.tpl {* Sidebar right *} {extends file=’…/_default/frontend/index/index.tpl’} {block name=‘frontend_index_content_right’}
Test
{$smarty.block.child} {/block} aber warum sollte ich in meine index.tpl diese Zeile schreiben {extends file=’…/_default/frontend/index/index.tpl’},das ist doch diese .tpl
Du solltest diese index.tpl natürlich in ein anderes Template als “_default” packen. Zum Beispiel in das “_local”-Template, welches auch bei jedem Farb-Template aufgerufen wird. _local/frontend/index/index.tpl: [code]{* Sidebar right *} {extends file=’…/_default/frontend/index/index.tpl’} {block name=‘frontend_index_content_right’}
Test
{$smarty.block.child} {/block} [/code]
Habs probiert.Funktioniert leider nur auf der Home bzw. Startseite.Sobald ich in ne Kategorie gehe ist es wieder weg.???
@rocky Für meinen Wissensstand, was macht die Zeile {$smarty.block.child} ?
Hi, die Zeile {$smarty.block.child} ist ein Platzhalter für das darüber liegende Block. Statt den Block zu überschreiben, wird der neue Block einfach in den Platzhalter kopiert. Es gibt auch noch {$smarty.block.parent} Platzhalter. Der macht dann genau das Gegenteil. Siehe: http://www.smarty.net/docs/en/language. … .block.tpl @Haijo: Bei mir hat das auch auf der Kategorieseite funktioniert. Hast du vielleicht irgendwelche Plugins mit Template-Anpassungen am Laufen? Oder das Template schon irgendwie anderes angepasst? Viele Grüße Heiner
[quote=“rocky”]Hi, die Zeile {$smarty.block.child} ist ein Platzhalter für das darüber liegende Block. Statt den Block zu überschreiben, wird der neue Block einfach in den Platzhalter kopiert. Es gibt auch noch {$smarty.block.parent} Platzhalter. Der macht dann genau das Gegenteil. Siehe: http://www.smarty.net/docs/en/language. … .block.tpl @Haijo: Bei mir hat das auch auf der Kategorieseite funktioniert. Hast du vielleicht irgendwelche Plugins mit Template-Anpassungen am Laufen? Oder das Template schon irgendwie anderes angepasst? Viele Grüße Heiner[/quote] Hey Heiner, heute ist es soweit und ich wollte deinen Code ausprobieren. Ich will das link (Shopseiten) Menu rechts haben. Natürlich auf allen Seiten Mit deinem geposten {$smarty.block.child} funktioniert es sogar. Aber es jetzt sich dann natürlich immer an oberster Stelle. Nun möchte ich aber mein menü immer darunter haben. Egal ob Banner, TopSeller etc. mein Menü sollte nur darunter erscheinen. Gibt es da auch eine Möglichkeit? Oder muss ich nun jedes right.tpl in allen Ordnern anpassen? Danke dir EDIT: Hat sich erledigt. Sollte mit {$smarty.block.child} über und nicht unter dem Code funktionieren.