Crossseller und Zubehör als "half" in detail.tpl

Hallo!

Habe ein paar Stunden lang Codes hin und her geschoben, wird aber nicht so recht.

Was ich mir vorstelle: Die Zubehör- und Cross-Seller Artikel in der Boxenansicht “half” unter den Infos in der detail.tpl ( Habe einen 4.3.0 CE aufgesetzt )

Ich habe die _right.tpl ausgebaut um mehr Platz zu gewinnen, auf die Cross-Seller und Zubehör-Artikel möchte ich aber nicht wirklich verzichten …

Hat wer eine gute Idee wie ich das umsetzen kann? Habe die Cross-Seller Boxen auf Thumbnail Bilder gesetzt, bleibt aber einspaltig. Tabelle rumziehen klappt auch nicht, dann verzieht das ganze Template …

Wie im Bild sieht man die Last Seen Products. Tatsächlich suche ich auch noch dafür eine Stelle, dass nur 2 Last Seen products angezeigt werden und nicht 4. In den Grundeinstellungen gibts da leider nichts, und in die core Dateien traue ich mich nicht … :o

Freue mich über Beiträge :slight_smile:
Niklas

Hier findest Du wie man ein Modul schreibt.
Dann schreibst Du ein Modul, welches die oxArticleList::loadHistoryArticles() erweitert.
(ungetestet)


<?
class loadTwoHistoryArticles extends loadTwoHistoryArticles_parent{
  public function loadHistoryArticles($sArtId)
  {
    $aHistoryArticles = $this->getHistoryArticles();
    $aHistoryArticles[] = $sArtId;
    // removing dublicates
    $aHistoryArticles = array_unique( $aHistoryArticles);
    if (count($aHistoryArticles) > 3) {//here is the change to 5 to 3
      array_shift($aHistoryArticles);
    }
    this->setHistoryArticles($aHistoryArticles);
    //remove current article and return array
    //asignment =, not ==
    if (($iCurrentArt = array_search($sArtId, $aHistoryArticles)) !== false) {
      unset ($aHistoryArticles[$iCurrentArt]);
    }
    $aHistoryArticles = array_values($aHistoryArticles);
    $this->loadIds($aHistoryArticles);
    $this->_sortByIds($aHistoryArticles);
  }
}

Sollte so gehen… zu mindestens wird hier nach 5 Artikeln in der originalen Klasse geprüft und dies ist nun 3.

Mach dir einfach eine Kopie vom Last Seen Products Template und passe es an, etwa so:

[{if $aCrossSelling && $aCrossSelling->count() > 0 }]
  <strong id="test_CrossSellingHeader" class="head2">[{ oxmultilang ident="INC_RIGHTITEM_HAVEPOUSEEN"}]</strong>
  [{foreach from=$aCrossSelling item=lastproduct}]
    [{include file="inc/product.tpl" size="small" product=$lastproduct altproduct=$_lastproducts_aid sListType='' testid="CrossSelling_"|cat:$lastproduct->oxarticles__oxid->value}]
  [{/foreach}]
[{/if}]

dann kannst den Schnipsel aufrufen mit:

[{include file="dyn/center_cross_selling.tpl" aCrossSelling=$oView->getCrossSelling() }]

Vielen Dank schonmal für die Antworten!! Ich mache mich mal ran, wenn ich eine fertige Lösung hab, hau ich das hier direkt rein.

Vielen lieben Dank!
Niklas

Wie geil ist das denn, funktioniert 100%! Absolut Top, vielen vielen vielen lieben Dank dafür! Genial! :eek: