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.

Wie kann ich News auf der Startseite ausgeben lassen?

0 Kommentare
ab Version:3.0.3 bis Version:3.0.4.1

Core Änderung

Legen Sie zuvor von den relevanten Dateien eine Sicherung an. Die Templateänderungen sind als Beispiel und müssen ggf. an Proportionen und Styles angepasst werden.

In der Datei „/engine/core/calass/inherit/myCore.php“ vor folgender Zeile:

return $sRender;

Diese Zeilen zum Auslesen der News hinzufügen:

 
if(empty($this->sSYSTEM->_GET["sViewport"]))
        {
            $sContent = $this->sSYSTEM->sMODULES['sCms']->sGetDynamicContentByGroup(1,0);
            if(!empty($sContent))
            {
                $sRender['variables']["sContent"] = $sContent["sContent"];
                $sRender['variables']["sPages"] = $sContent["sPages"];
            }
 
       }
 

Template Änderung

Folgende Zeilen im Template „index/ index_home.tpl“ suchen:

 
{if $sCategoryContent.cmsheadline}
 {* CATEGORY_TEXT *}
 <div class="cat_text" style="margin-top:4px;">
  <h1>{$sCategoryContent.cmsheadline}</h1>
  <p>{$sCategoryContent.cmstext}</p>
 </div>
 {* /CATEGORY_TEXT *}
{/if}
 

Und darunter folgende Zeilen hinzufügen:

 
  <div class="box">
  <h2 style="border-bottom:2px solid #CCCCCC;color:#000000;font-size:14px;height:20px;padding:10px 0 0 10px;z-index:111;">Aktuelles</h2>
  {foreach from=$sContent item=sContentItem key=key name="counter"}
   <div style="margin: 10px 0 0 0;">
    <h3 style="-x-system-font:none;color:#016F38;font-family:Arial,tahoma,verdana,sans-serif;font-size:11px;font-size-adjust:none;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:bold;line-height:11px;">
     {$sContentItem.description} ({$sContentItem.datumFormated})
    </h3>
    <div class="box_1col_picture" style="margin-right: 40px; margin-left: 30px; width: 170px;"><div class="fixfloat"></div> 
     {if $sContentItem.img}
     <a href="{$sContentItem.linkDetails}" title="{$sContentItem.description}" class="thumb_image" style="float: none; display: block; margin-top: 20px;">
      <img src="{$sContentItem.img}" style="width:100px;" alt="{$sContentItem.description}">
     </a>
     {/if}
    </div>
    <p style="margin-top:10px; font-size: 0.9em; color:#666; line-height: 1.3em;">
     {$sContentItem.text|truncate:250:"...":true}
 
 
     <a href="{$sContentItem.linkDetails}&sViewport=content&sContent=1">{$sConfig.sSnippets.sContentmore}</a>
    </p>
   </div>
   <div class="fixfloat"></div>
   <div {if $key!=$smarty.foreach.counter.total-1} style="border-bottom: 1px solid #DEDEDE; margin-bottom:10px;"{/if}></div>
  {/foreach}
  </div>
 

Subshop spezifische Anzeige

Wenn Sie pro Subshop unterschiedliche News ausgeben wollen, gehen Sie wie folgt vor:

  • Führen Sie die Oben beschriebenen Änderungen durch.
  • Legen Sie im Backend eine neue Gruppe unter Inhalte->Feeds an. z.B. "News".
  • Fügen Sie dieser eine Seite hinzu.
  • Ersetzen Sie die folgenden Zeilen aus der

Datei: „/engine/core/calass/inherit/myCore.php“

 
	$sContent = $this->sSYSTEM->sMODULES['sCms']->sGetDynamicContentByGroup(1,0);
 

mit dieser:

 
	if($sLanguage == "de") {
		$sContent = $this->sSYSTEM->sMODULES['sCms']->sGetDynamicContentByGroup(1,0);
	}
	else if($sLanguage == "en"){
		$sContent = $this->sSYSTEM->sMODULES['sCms']->sGetDynamicContentByGroup(2,0);
	}
 

Hier wird für die Sprache Englisch die zweite Gruppe geladen.

  • Führen Sie alle oben benannten Templateänderungen auch in Ihrem Subshop durch.
  • Ändern Sie den Link im Template index_home.tpl im Subshop von:

<a href="{$sContentItem.linkDetails}&sViewport=content&sContent=1">{$sConfig.sSnippets.sContentmore}</a>

in:

<a href="{$sContentItem.linkDetails}&sViewport=content&sContent=2">{$sConfig.sSnippets.sContentmore}</a>

== Erläuterung der Änderung == Der erste Parameter der Funktion: sGetDynamicContentByGroup(1,0); aus der "myCore.php" gibt die Gruppe an, die im Backend unter Inhalte-Feeds angelegt ist. So werden mit der Funktion:

sGetDynamicContentByGroup(1,0);

Die Inhalte aus der ersten Gruppe geladen. Die Inhalten aus der zweiten Gruppe werden so geladen:

sGetDynamicContentByGroup(2,0);

usw.

Das Gleiche gilt für die Anpassung im Template:

<a href="{$sContentItem.linkDetails}&sViewport=content&sContent=1">{$sConfig.sSnippets.sContentmore}</a>

lädt die Detailseite der Angeklickten News aus der ersten Gruppe.

<a href="{$sContentItem.linkDetails}&sViewport=content&sContent=2">{$sConfig.sSnippets.sContentmore}</a>

lädt die Detailseite der angeklickten News aus der zweiten Gruppe.

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.: 26148_

Lieferzeit ca. 5 Tage

€ 1,00

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 1,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*

Kategorien: