Tab -Menu auf Shopseite

Hi,

Wir hatten unter Shopware 4 ein Tab Menu, um 3 Unterseiten einer Shopseite anzuzeigen.

Wie kann ich das in SW5 realisieren?

Danke im Vorraus

ich pushe das mal nach oben.

Kategorie als Link-Kategorie, für jede Shopseite wieder eine Unterkategorie.
Nur müsste halt für den Tab auch eine Site hinterlegt werden.

Ich habe eine Linkseite Pressebereich.

dann habe ich noch 3 Seiten Pressemitteilungen, Pressespiegel und Pressematerial.

nur leider werden die 3 unterseiten nicht unter Pressebereich als Tab-Menü angezeigt.

Pressebereich hat die Gruppen Links und Presse

die Drei unterseiten die Gruppe Presse

Habe auch das Problem aber noch keine Zeit gefunden es zu lösen, frage mich nur warum es in dem Responsiven nicht mehr drin ist.

Code aus den Emotions-Template:

{* Main content *}
{block name='frontend_index_content'}
	{if $sCustomPage.subPages}
		{$pages = $sCustomPage.subPages}
	{elseif $sCustomPage.siblingPages}
		{$pages = $sCustomPage.siblingPages}
	{/if}
	{if $pages}
		
			{if $pages}
				
				{foreach $pages as $subPage}
					
						{$subPage.description}
					
				{/foreach}
				
			{/if}
		
	{/if}

	

		{$sCustomPage.description}

		{* Article content *}
		{block name='frontend_custom_article_content'}
			{$sContent}
		{/block}
	
{/block}

und aus den Bare:

{* Main content *}
{block name="frontend_index_content"}
	

        {* Custom page tab content *}
        {block name="frontend_custom_article"}
            
                {block name="frontend_custom_article_inner"}
                    {* Custom page tab headline *}
                    {block name="frontend_custom_article_headline"}
                        {$sCustomPage.description}
                    {/block}

                    {* Custom page tab inner content *}
                    {block name="frontend_custom_article_content"}
                        {$sContent}
                    {/block}
                {/block}
            
        {/block}

	
{/block}

Kann ja dann nur dieser Eintrag sein, der für Shopware5 responsives Template angepasst werden müsste.

{if $sCustomPage.subPages}
		{$pages = $sCustomPage.subPages}
	{elseif $sCustomPage.siblingPages}
		{$pages = $sCustomPage.siblingPages}
	{/if}
	{if $pages}
		
			{if $pages}
				
				{foreach $pages as $subPage}
					
						{$subPage.description}
					
				{/foreach}
				
			{/if}
		
	{/if}

Gruß Uwe

1 Like

*Hmm* - in seinem noch unter SW4 laufendem Shop hat er unter Presse (Pressebereich) im Content Tabs - ich vermute, die möchte er auch wieder in SW5 haben. War sowas wirklich in SW4 enthalten? Oder ist das eher ein Plugin oder eine Templateanpassung?

Es sah schon so ähnlich wie das Tab-Menü auf der Detailseite aus, habe in meinem Testshop gerade mal das alte Emotion aktiviert.

Ich habe den Code jetzt mal in meine eigene/frontend/custom/index.tpl eingefügt und es funktioniert nur der Style muss nach dem 4er Vorbild angepasst werden.

{extends file='parent:frontend/custom/index.tpl'}

{block name="frontend_custom_article" prepend}
        
	{if $sCustomPage.subPages}
		{$pages = $sCustomPage.subPages}
	{elseif $sCustomPage.siblingPages}
		{$pages = $sCustomPage.siblingPages}
	{/if}
	{if $pages}
		
			{if $pages}
				
				{foreach $pages as $subPage}
					
						{$subPage.description}
					
				{/foreach}
				
			{/if}
		
	{/if}

{/block}

Gruß Uwe

1 Like

Hi Uwe,

Ich habe deinen Code mal noch minimal umgeschrieben und dem ganzen mein styling verpasst:

tpl:

{extends file='parent:frontend/custom/index.tpl'}

{block name="frontend_custom_article" prepend}
        
	{if $sCustomPage.subPages}
		{$pages = $sCustomPage.subPages}
	{elseif $sCustomPage.siblingPages}
		{$pages = $sCustomPage.siblingPages}
	{/if}
	{if $pages}
		
			{if $pages}
				
				{foreach $pages as $subPage}
					
						{$subPage.description}
					
				{/foreach}
				
			{/if}
		
	{/if}

{/block}

less:

.custom-page--content {

	&.content {
		&.block {
			max-width: 1280px;
			margin-left: auto;
			margin-right: auto;
			float: unset;
		
			.sub-pages {
				padding-top: 10px;
				border-bottom: 1px solid #000;
				display: flex;

				li {
					width: -moz-fit-content;
					padding: 0.3125rem 0.875rem;
					border-left: 1px solid #000;
					color: transparent;

					&.is--first {
						border-left: 0px solid #fff;
					}

					&.active {
						background: #909090;

						a {
							color: #fff;
						}
					}
				}
			}
		}
	}
}

jetzt bin ich nur noch auf der suche, wie ich dem menu sagen kann, dass er den ersten Menü-punkt in der Navi mit dem attribut .is–first versehen soll.

Kann mir da noch jemand von euch weiterhelfen?

Gruß

Andy

und wie kann ich SW sagen, dass er nicht die Parent-page beim ersten klick öffnet, sondern direkt das erste child?

Hi Andy,

das geht mit @first:

 http://www.smarty.net/docs/en/language.function.foreach.tpl#foreach.property.first

Beispiel:

Gruß Heiner

1 Like

Hi Heiner,

Vielen dank für die schnelle antwort.

Das hat perfekt geklappt.

und das mit dem verlinken hat sich auch erledigt. die unterseiten waren unterseiten einer schon verlinkten seite, da hat shopware scheinbar probleme mit gehabt.

Gruß Andy