linke Spalte "Informationen" ausblenden

Hallo zusammen,

es gibt ja viele Plugins, mit denen ich die linke Spalte in Kategorien ausblenden kann. Wenn ich aber eine Shopseite (z.B. Impressum) aufrufe, wird in der linken Spalte ein Menü „Informationen“ angezeigt. Wie kann ich dieses ausblenden?

Vielen Dank.

Andy

Hi,

Du legst in Deinem Theme eine neue sidebar.tpl Datei im entsprechenden Verzeichnis an (themes/Frontend/THEME_VERZEICHNIS/frontend/index/sidebar.tpl) mit folgendem Inhalt.

{extends file="parent:frontend/index/sidebar.tpl"}

{block name="frontend_index_sidebar"}{/block}

Im Prinzip verweist die erste Zeile auf das original Template und die Zweite leert den kompletten sidebar block.
Informationen wie das Ganze funktioniert findest Du hier: https://docs.shopware.com/de/shopware-5-de/tutorials-und-faq/aenderungen-am-template-vornehmen

Danke für die Hilfe und den Link.

Wenn ich das Template mit dem Code bearbeite, wird mir die Sidebar grundsätzlich nicht mehr angezeigt. Wenn ich auf die gleiche Weise die sites-navigation.tpl bearbeite, wird mir zwar das Menü Informationen nicht mehr angezeigt (so wie ich es haben will), allerdings wird trotzdem nicht die volle Breite der Seite verwendet. Wie kann ich das ändern, so dass anschließend die volle Breite genutzt wird.

Sorry für die doofen Fragen. Bin gerade dabei mich in die Materie einzuarbeiten. Für einen Profi deshalb sicherlich ziemlich unverständlich.

Hi,

ich bin auch recht neu ihier aber es könnte funktionieren wenn dir ein neues Seitentemplate anlegst.

Dazu aus dem order themes/Frontend/Bare/frontend/custom/ die index.tpl kopierst in deinen Ordner 

themes/Frontend/YOUR-THEME/frontend/custom/  und dort den Teil  im sidebar block leer lässt.

 \* Sidebar left \*} {block name="frontend\_index\_content\_left"} {/block}

 

Hab das gerade mal getestet . Bei mir geht das. Hoffe ich hab dein Anliegen auch richtig verstanden uund es hilft dir ein wenig.

 

Die Lösung von SRF müsste wohl leider auf das gleiche rauskommen, da dort im Prinzip nur das include der sidebar.tpl ausgehebelt wird.

{block name="frontend_index_content_left"}
    {include file="frontend/index/sidebar.tpl"}
{/block}

Wenn ich Dich richtig verstehe @andy123 möchtest Du nur die Informationen Box entfernen und die volle Breite nutzen, den restlichen Inhalt der Sidebar aber behalten. Die volle Breite wird an der Stelle nicht genutzt da es vom CSS so vorgegeben ist. Zu finden ist das in der themes/Frontend/Responsive/frontend/_public/src/less/_modules/sidebar.less Zeile 316.

.sidebar-main {
    // Dies ist nur ein Auszug aus der Definition
    .is--ctl-listing &,
    .is--ctl-forms &,
    .is--ctl-tellafriend &,
    .is--ctl-newsletter &,
    .is--ctl-sitemap &,
    .is--ctl-custom &,
    .is--ctl-note.is--user &,
    .is--ctl-address &,
    .is--ctl-account.is--user & {
        display: block;

        & + .content--wrapper {
            .unitize(margin-left, 260);
        }
    }
}

Ich weiß nicht wie bewandert du mit CSS bzw hier mit Less bist. Letztendlich ist es so, dass das DOM Element mit der Klasse content–wrapper einen Abstand nach links bekommt sobald es als direktes Element vor sich eins mit der Klasse sidebar-main hat.

Nun gibt es sicherlich mehrere Möglichkeiten das zu lösen. Eine Option wäre es z.B. für die Shopseiten ein Freitext-Feld anzulegen, dieses dann im Template abzufragen.
Dann könntest Du an jeder Shopseite entscheiden ob die Sidebar angezeigt werden soll oder nicht.

 

 

1 „Gefällt mir“

Genau das habe ich gemeint @v0id‍

Vielen Dank für den Hinweis. Ich denke damit komme ich weiter.