Hallo,
ich stehe gerade vor einem Problem, und zwar möchte ich gerne das Crossselling bei Crossselling Produkten aktivieren, das sind gleiche Artikel nur die Farbe ist anders.
Wenn ich nun nach der Methode getReviews() suche gibt es das ja schon für Varianten:
public function getReviews()
{
$aIds = array($this->getId());
if ( $this->oxarticles__oxparentid->value ) {
$aIds[] = $this->oxarticles__oxparentid->value;
}
// showing variant reviews ..
if ( $this->getConfig()->getConfigParam( 'blShowVariantReviews' ) ) {
$aAdd = $this->_getVariantsIds();
if (is_array($aAdd)) {
$aIds = array_merge($aIds, $aAdd);
}
}
$oReview = oxNew('oxreview');
$oRevs = $oReview->loadList('oxarticle', $aIds);
//if no review found, return null
if ( $oRevs->count() < 1 ) {
return null;
}
return $oRevs;
}
Mir fehlt jetzt leider der Bezug wie ich denn Crossselling Artikel IDs da übergeben kann,
in der
oxarticlelist.php
$sSelect = "select $sArticleTable.* from oxobject2article left join $sArticleTable on oxobject2article.oxobjectid=$sArticleTable.oxid ";
$sSelect .= "where oxobject2article.oxarticlenid = $sArticleId ";
$sSelect .= " and $sArticleTable.oxid is not null and " .$oBaseObject->getSqlActiveSnippet(). " order by rand()";
Mir erschließt sich nicht ganz wofür $sArticleTable steht.
Habe auch schon versucht das Query bei Reviews unsauber im core zu erweitern (später Modul) und erhalte dann ein großen return, dort kann ich aber dann nicht auf die OXID zugreifen, mit var_dump ist das dann leider immer leer wenn ich direkt auf das Objekt zugreifen möchte, gebe ich das nur mit var_dump aus so sehe ich schon alle korrekten Daten wie OXID und Produkt Name.