Hallo
Ich habe versucht für unsere 4.5.9 ein kleines Modul zu erstellen, welches die neuen Produkte der letzten x Tage anzeigt. Im Grundsatz funktioniert das Modul auch und die entsprechenden Produkte werden aufgelistet. Nur funktioniert nach dem Einbinden die Navigation nicht mehr. Zwar wird im Kategoriebaum die ausgewählte Kategorie angezeigt, aber die Produkte werden nicht neu geladen und somit werden immer die Resultate aus dem Modul eingeblendet. Sieht jemand den entsprechenden Fehler?
Gruss
Roland
bblNewArticlesList.php
<?php
class bblNewArticlesList extends bblNewArticlesList_parent
{
public function loadNewArticles()
{
$sArticleTable = getViewName('oxarticles');
$sSelect = "select * from $sArticleTable ";
$sSelect .= "WHERE DATE_SUB(CURDATE(),INTERVAL 180 DAY) <= oxinsert ";
$sSelect .= "AND oxvarselect='' AND oxactive ='1' ORDER BY oxinsert desc";
$this->selectString($sSelect);
}
}
bblNewArticles.php
<?php
class bblNewArticles extends bblNewArticles_parent
{
protected $_sThisTemplate = 'newarticles.tpl';
public function render()
{
oxUBase::render();
$oArticleList = $this->getArticleList();
$this->_processListArticles();
return $this->_sThisTemplate;
}
public function getArticleList()
{
$this->_aArticleList = $this->_loadArticles();
return $this->_aArticleList;
}
protected function _loadArticles()
{
$iNrofCatArticles = (int) $this->getConfig()->getConfigParam( 'iNrofCatArticles' );
$iNrofCatArticles = $iNrofCatArticles?$iNrofCatArticles:1;
$oArtList = oxNew( 'oxarticlelist' );
// load the articles
$this->_iAllArtCnt = $oArtList->loadNewArticles();
$this->_iCntPages = round( $this->_iAllArtCnt / $iNrofCatArticles + 0.49 );
return $oArtList;
}
}
newarticles.tpl
[{oxscript add="$('a.js-external').attr('target', '_blank');"}]
[{oxscript include="js/widgets/oxarticlebox.js" priority=10 }]
[{oxscript add="$( '#content' ).oxArticleBox();"}]
[{capture append="oxidBlock_content"}]
<div class="listRefine clear bottomRound">
[{include file="widget/locator/listlocator.tpl" locator=$oView->getPageNavigationLimitedTop() attributes=$oView->getAttributes() listDisplayType=true itemsPerPage=true sort=true }]
</div>
[{include file="widget/product/list.tpl" type=$oView->getListDisplayType() listId="productList" products=$oView->getArticleList()}]
[{include file="widget/locator/listlocator.tpl" locator=$oView->getPageNavigationLimitedBottom() place="bottom"}]
[{insert name="oxid_tracker"}]
[{/capture}]
[{include file="layout/page.tpl" sidebar="Left" tree_path=$oView->getTreePath()}]
Und im Backend habe ich noch die folgenden Einträge gemacht…
alist => bbl_category&bblNewArticles
oxarticlelist =>bblNewArticlesList