Shopware Knowledgebase

Shopware Labs

Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.

Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.

Seitenlisting für Einkaufswelten

0 Kommentare
ab Version:3.0.4 bis Version:3.0.5.1

Mit diesem Tutorial können Sie bei Einkaufswelten ein Seitenlisting hinzufügen. Normalerweise werden alle zugeordneten Promotions untereinander ausgegeben. Nach Integration der nachfolgenden Schritte, werden die verschiedenen Promotions auf mehrere Seiten verteilt.

Integration Viewport

Öffnen Sie die Datei s_cat.php

Fügen Sie vor:

 
if (count($promoteArticles)){
 

ein:

 
// Anpassung - Seitenlisting für Einkaufswelten 
if (empty($this->sSYSTEM->_GET["sPromotePage"])) $this->sSYSTEM->_GET["sPromotePage"] = 1;
$maxArticles = 6;	// Anzahl Promotions pro Seite
$this->sSYSTEM->sExtractor[] = "sPromotePage";
$promotePages = array();
$maxPages = count($promoteArticles) / $maxArticles;
if ($maxPages != intval($maxPages)) $maxPages++;
// Building pager
for ($i=1;$i<=$maxPages;$i++){
	if ($i==$this->sSYSTEM->_GET["sPromotePage"]){
		$markup = true;
	}else {
		$markup = false;
	}
 
	$url = $this->sSYSTEM->sCONFIG['sBASEFILE'].$this->sSYSTEM->sBuildLink(array("sPromotePage"=>$i),false)."";
	$promotePages[] = array("page"=>$i,"url"=>$url,"markup"=>$markup);
}
$startArticles = $maxArticles * $this->sSYSTEM->_GET["sPromotePage"] - $maxArticles;
$maxArticles = $maxArticles *  $this->sSYSTEM->_GET["sPromotePage"];
// Anpassung - Seitenlisting für Einkaufswelten 
 

Anmerkung: Mit $maxArticles lässt sich beeinflussen, wieviele Promotions pro Seite angezeigt werden sollen

Fügen Sie nach

 
if (count($promoteArticles)){
 

ein:

 
// Anpassung - Seitenlisting für Einkaufswelten 
foreach ($promoteArticles as $key => $value){
	if ($key+1 > $maxArticles){
		break;
	}else {
		if ($key >= $startArticles)	$promoteArticlesNew[] = $value;
	}
}
$promoteArticles = $promoteArticlesNew;
// Anpassung - Seitenlisting für Einkaufswelten 
 

Ändern Sie die Zeile:

 
"sNumberArticles"=>$categoryArticles['sNumberArticles']
 

in

 
"sNumberArticles"=>$categoryArticles['sNumberArticles'],
"sPromotePages"=>$promotePages	// Anpassung - Seitenlisting für Einkaufswelten 
 

Integration Template

Öffnen Sie das Kategorien-Listing Template (z.B. articles/article_listing_4col.tpl)

Fügen Sie nach:

 
{if $sPages.numbers.2.value}
{* PAGE_FLIP *}
	<div style="float: left;">
	<span>{* sSnippet: scroll *}{$sConfig.sSnippets.sArticlescroll}:</span>
	{if $sPages.previous}
	<a href="{$sPages.previous}" title="{$sCategoryInfo.name}" class="flip"><img src="../../media/img/default/store/ico_arrow5.gif" alt="{* sSnippet: one site back *}{$sConfig.sSnippets.sArticleonesiteback}" align="absmiddle" /></a>
	{/if}
	{foreach from=$sPages.numbers item=page}
		{if $page.value<$_GET.sPage+4 AND $page.value>$_GET.sPage-4}
			{if ($page.value != 1 AND $page.value!=$_GET.sPage-3) OR (!$sPages.next AND $_GET.sPage == 1)} | {/if}
			{if $page.markup AND (!$sOffers OR $_GET.sPage)}
			<span class="on">{$page.value}</span>
			{else}
			<a href="{$page.link}" title="{$sCategoryInfo.name}" class="navi">{$page.value}</a>
			{/if}
		{elseif $page.value==$_GET.sPage+4 OR $page.value==$_GET.sPage-4}...{/if}
		{/foreach}
		{if $sPages.next}
		<a href="{$sPages.next}" title="{$sCategoryInfo.name}" class="flip"><img src="../../media/img/default/store/ico_arrow4.gif" alt="{* sSnippet: one site forward *}{$sConfig.sSnippets.sArticleonesiteforward}" align="absmiddle" /></a>
		{/if}
	</div>
{* /PAGE_FLIP *}      
 

ein:

 
{elseif $sPromotePages.2.page}
<div style="float: left;">
<span>{* sSnippet: scroll *}{$sConfig.sSnippets.sArticlescroll}:</span>
 
{foreach from=$sPromotePages item=page}
	{if $page.markup}
	<span class="on">{$page.page}</span>
	{else}
	<a href="{$page.url}" title="{$sCategoryInfo.name}" class="navi">{$page.page}</a>
	{/if}
{/foreach}
 
</div>
 

Artikel-PDF erstellen

Artikel bewerten

Waren diese Informationen hilfreich? Ja Nein


Kommentare:

Artikel kommentieren


Die mit einem * markierten Felder sind Pflichtfelder.

Weitere interessante Artikel:

Bezeichnung:
Rating:
Klicks:
Datum:

Bestell-Nr.: SW1206

Lieferzeit ca. 5 Tage

€ 1,00

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 1,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*

Kategorien: