Wenn ich änliche Artikel abschalten will, trage ich in backend überall 0. (Anzahl ähnlicher Artikel Cross-Selling, Anzahl automatisch ermittelter, ähnlicher Artikel (Detailseite), Anzahl „Kunden kauften auch“ Artikel Cross-Selling) Aber die Prüfung in sArticles.php $similarLimit = $this-\>sSYSTEM-\>sCONFIG['sSIMILARLIMIT'] ? $this-\>sSYSTEM-\>sCONFIG['sSIMILARLIMIT'] : 3;
gibt trotzdem $similarLimit=3, weil 0 FALSE ist. Und diese SQL-Abrage dauert bei mir ca. 9-10 sec!!! ich habe so abgeschaltet // Get similar articles // =================================================. $getSimilarArticles = $this-\>sSYSTEM-\>sDB\_CONNECTION-\>CacheGetAll($this-\>sSYSTEM-\>sCONFIG['sCACHEARTICLE']," SELECT relatedarticle FROM s\_articles\_similar WHERE articleID={$getArticle["articleID"]}",array(),"article\_".$getArticle["articleID"]); if (count($getSimilarArticles)){ foreach ($getSimilarArticles as $relatedArticleKey =\> $relatedArticleValue){ $tmpContainer = $this-\>sGetPromotionById("fix",0,$relatedArticleValue['relatedarticle']); if (count($tmpContainer) && isset($tmpContainer["articleName"])){ $getArticle["sSimilarArticles"][] = $tmpContainer; } } }elseif($this-\>sSYSTEM-\>sCONFIG['sSIMILARLIMIT']!=0) { $similarLimit = $this-\>sSYSTEM-\>sCONFIG['sSIMILARLIMIT'] ? $this-\>sSYSTEM-\>sCONFIG['sSIMILARLIMIT'] : 3; $sqlGetCategory = " SELECT DISTINCT s\_articles.id AS relatedarticle FROM s\_articles\_categories, s\_articles, s\_articles\_details WHERE s\_articles\_categories.categoryID=".$this-\>sSYSTEM-\>\_GET["sCategory"]." AND s\_articles.id=s\_articles\_categories.articleID AND s\_articles.id=s\_articles\_details.articleID AND s\_articles\_details.kind=1 AND s\_articles.id!={$getArticle["articleID"]} AND s\_articles.active=1 ORDER BY s\_articles\_details.sales DESC LIMIT $similarLimit "; $getSimilarArticles = $this-\>sSYSTEM-\>sDB\_CONNECTION-\>CacheGetAll($this-\>sSYSTEM-\>sCONFIG['sCACHEARTICLE'],$sqlGetCategory,false,"article\_".$getArticle["articleID"]); foreach ($getSimilarArticles as $relatedArticleKey =\> $relatedArticleValue){ $tmpContainer = $this-\>sGetPromotionById("fix",0,$relatedArticleValue['relatedarticle']); if (count($tmpContainer) && isset($tmpContainer["articleName"])){ $getArticle["sSimilarArticles"][] = $tmpContainer; } } if (!count($getSimilarArticles)){ $getArticle["sSimilarArticles"] = array(); } }else{ $getArticle["sSimilarArticles"] = array(); }
PS. Ich kann keine Fehler in Bugtracker schreiben, weil komme nicht über CAPTCHA durch
Okay, ob das als Fehler gewertet kann, lass ich mal so stehen Die Deaktivierung ist ja nur nicht vorgesehen. Evtl. als Erweiterung sinnvoll. Interessanter ist allerdings, dass das bei dir so lange dauert! Hast du viele Artikel > 10.000? Wenn das Sortiment gross ist, so musst du sicher am Server investieren. Was für ein Server System steht dahinter?
ca. 600000 Artikel. Server ist Hetzner EQ4
Du bist mein HELD! danke fürs Teilen!
Die Lösung ist super! Wie würde das ganze allerdings aussehen, wenn ich die Cross-Selling-Artikel behalten möchte? Oder ist das nicht machbar? Danke, Eric.
na das macht doch genau das. der kleine }else…{ Schnipsel erledigt das Problem dass $var das selbe ist wie $var=0 ich hab es jetzt mal eingefügt und funktioniert wunderbar. Die wirklich zugeordneten Alternativ Artikel werden angezeigt keine ermittelten. Es sei denn, dass ich das im Backend einstelle. Der Code vom Kollegen oben ist kein Brutales herausnehmen von Quellcode sondern wohl eher ein Fix damit die Funktion das tut was Sie soll PS. in eurem KaffeeShop auf der Produktdetail Seite funktionieren die Facebook Kommentare nicht es steht [color=red]„Das Kommentar-Plugin benötigt ein href-Parameter.“[/color] da
Achso - okay, dann habe ich es richtig gelesen aber falsch gedacht. Danke für die Erklärung So wollte ich das auch haben. Grüße, Eric.
Hat das einer von euch schon bei Shopware ins Trac gestellt? Möchte die Änderungen noch nicht durchführen und würde mich freuen, wenn es beim nächsten Update was ich mache bereits mit berücksichtigt wäre :thumbup:
Der Thread ist zwar schon 2 Jahre alt, aber leider auch in 4.1 noch immer aktuell. Es ist noch immer die gleiche Abfrage. Allerdings lässt sich das ganze auch ohne Core Änderung bzw. Erweiterung lösen. Einfach in das config Feld „sSIMILARLIMIT“ statt 0 0,0 reinschreiben ergibt dann … DESC LIMIT 0,0 Beste Grüße Thomas