Frisch Eingetroffen - Reihenfolge von Produkten komisch

Hallo Zusammen,

habe 4.9.9 CE im Einsatz. Alles wunderbar aber ich habe ein Problem mit dem Anzeigen von “Frisch Eingetroffen”:
Es ist auf automatisch gesetzt mit 60 Produkten. Die neu erstellen Sachen sind da angezeigt, nur die Reihenfolge ist nicht wirklich im Sinne von “Frisch Eingetroffen”: Es scheint so, dass es unter den neuen Sachen nach Artikelnummer sortiert wird. Also die Sachen mit “E…” kommt vor “S…”, was mich irritiert. Für mich sinnvoller wäre einfach neuste Sachen zuerst, dann sieht die Kundschaft sofort was heute online werden.

Ist es ein Bug und gibt es einen schnellen Weg das Verhalten zu ändern?

MfG, fire

Unter Performance gibt’s Liste der neusten Artikel (Frisch eingetroffen!) .
Dies müsste auf “automatisch” stehen, um die letzten Artikel zuerst anzuzeigen:

Danke für die Antwort. Meine Einstellung ist schon “Neueste Artikel nach dem Erstellungsdatum berechnen”, hat auch funktioniert. Halt unter den neusten Sachen stimmt die Reihenfolge nicht bzw. nicht sinnvoll. Falls ich was an Code ändern muss, wo sollte ich dies tun, welcher Controller z.B?

LG,

Danke für die Antwort. Diese Einstellung habe ich schon und das Problem ist nur die Reihenfolge der angezeigten neusten Sachen. Siehe bitte auch die Antwort von mir an patchwork.de.

LG,

public function loadNewestArticles($iLimit = null)
{
//has module?
$myConfig = $this->getConfig();

    if (!$myConfig->getConfigParam('bl_perfLoadPriceForAddList')) {
        $this->getBaseObject()->disablePriceLoad();
    }

    $this->_aArray = array();
    switch ($myConfig->getConfigParam('iNewestArticlesMode')) {
        case 0:
            // switched off, do nothing
            break;
        case 1:
            // manually entered
            $this->loadActionArticles('oxnewest', $iLimit);
            break;
        case 2:
            $sArticleTable = getViewName('oxarticles');
            if ($myConfig->getConfigParam('blNewArtByInsert')) {
                $sType = 'oxinsert';
            } else {
                $sType = 'oxtimestamp';
            }
            $sSelect = "select * from $sArticleTable ";
            $sSelect .= "where oxparentid = '' and " . $this->getBaseObject()->getSqlActiveSnippet() . " and oxissearch = 1 order by $sType desc ";
            if (!($iLimit = (int) $iLimit)) {
                $iLimit = $myConfig->getConfigParam('iNrofNewcomerArticles');
            }
            $sSelect .= "limit " . $iLimit;

            $this->selectString($sSelect);
            break;
    }

}

Dazu gibt’s noch die Einstellung (unter “Artikel”) "Neueste Artikel nach dem Erstellungsdatum berechnen. (Ansonsten nach Datum der letzten Änderung) "

nur leider enthält das Feld oxinsert in der DB nur ein Datum - keine Uhrzeit. Dadurch kann es durchaus zu ‘komischen’ Listen kommen wenn an einem Tag viele Artikel eingestellt werden.

Joo, wenn das so ist, dann über oxtimestamp (also ohne Häkchen an genannter Stelle)

wow cool, vielen Dank für diese Lösung. Ich schaue mal diese Methode in mein Module aufzunehmen.

stimmt, aber es ist nur halb so schlimm. Mindestens sind alle noch wirklich frisch. Bei mir verstopfen schon Produkte die vor einer Woche online waren noch ganz vorne, da ich stelle ja nicht ständig neue Produkte.

Mit oxtiemstamp ist eher der Effekt dass jede Änderung das Produkt vorne setzt, denke so will ich auch nicht…

hmmm jetzt bin ich verwirrt… laut der Methode wird doch nach oxinsert sortiert, wenn die Einstellung passt, mindesten in dieser Methode, aber bei mir ändert die Reihenfolge nicht… Tmp leeren bringt auch nichts… Vielleicht wird die Reihenfolge in Block nochmal geändert, ich habe nämlich ein third-party theme? Wie heist das Block dafür, habe irgendwie nichts gefunden…

kann es evtl. so sein dass viele Artikel an einem Tag z.B. über Artikel-Kopieren eingestellt werden (alle gleiches oxinsert-Datum), aber erst nach Tagen - wenn z.B. die Bilder erstellt wurden - aktiv geschaltet werden?
Zumindest ist es unserem Shop so.

mögliche Lösung:
in der Artikel-Tabelle ein neues Feld mit DateTime
dieses Feld wird beim ersten Setzen des Artikels auf Aktiv mit aktueller DatumUhrzeit gefüllt.
Sortierung der Liste der frisch eingetroffenen Artikel nach diesem Feld

Ein Theme dürfte keinen Einfluss auf die Reihenfolge ausüben, das würde eher über ein Modul erfolgen. Ich würde mal kontrollieren, was in oxinsert und oxtimestamp drinsteht. Wenn der Import über CSV erfolgt, kann da theoretisch auch überall 0 stehen, was die Ursache für das “Nichtändern” der Ansicht erklären würde.

danke das ist der Grund! Ja habe jetzt nachgeschaut, tatsächlich sind die Sachen vorne später erstellt aber früher online gestellt… Also eher mein Fehler/Problem, ist kein Bug. Danke nochmal für den Hinweis!
Warme Grüße, fire

ja stimmt, habe jetzt den Hinweis von patchwork.de gefolgt und die Quelle des Problems gefunden. Kein Bug, aber trotzdem vielen vielen Dank für die Mühe!

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.