Da ich gerade dabei bin in allen Artikeln einiger Kategorien etwas zu ändern, fehlt mir eine "Speichern und weiter zum nächsten Artikel" - Funktion. Damit würde man sich den Umweg über die Artikelliste (und das derzeitige Scrollen) sparen. Und wenn wir schon dabei sind, ich könnte mir die ganze Klickerei sparen, wenn man im neuen CSV - Import / Export alle in der Tabelle "products" befindlichen Spalten ansprechen könnte. Also auch die, die man selbst angelegt hat.
Hmm.. sowas könnte man per Redirect zum nächsten Artikel falls vorhanden realisieren. Datenbank abfragen wie viele Artikel ich unter der Kategorie habe und solange soll der Button angezeigt werden, bis der letzte Artikel aktiv ist. Oder ich habe dich komplett falsch verstanden
Na dann wollen wir mal... In welcher Kategorie wir uns gerade befinden entnehmen wir der URL-Parameter z.B. &cPath=2 und schreiben eine eigene Logik dazu oder behelfen uns mit der internen Gambio Lösung. Die 2 ist die ID der Kategorie die man offen hat, also folgt daraus eine Datenbankabfrage In "new_product.inc.php" einen hübschen neuen Button pflanzen PHP: <input type="submit" class="button float_right" name="gm_update_and_forward" value='Speichern und weiter'/> Nun den neuen Button mit PHP: if (isset($_POST['gm_update_and_forward'])) { $query_products_by_id = xtc_db_query("SELECT products_id FROM products_to_categories WHERE categories_id = ".(int)$categoryId." AND products_id > ".(int)$_GET['pID']." LIMIT 1"); $result_products_by_id = xtc_db_fetch_array($query_products_by_id); if ($result_products_by_id) { xtc_redirect(xtc_href_link(FILENAME_CATEGORIES, $cPath.'&action=new_product&pID='.(int)reset($result_products_by_id))); } else { xtc_redirect(xtc_href_link(FILENAME_CATEGORIES, $cPath)); } } "verknüpfen" in der categories.php ab Zeile 265 nach PHP: if (isset($_POST['gm_update']))... Mit "Speichern und zurück" wäre die Richtung von &pID={$productId} halt genau umgekehrt Schöner wäre es natürlich als eigene Methode an die View zu übergeben, aber das obige erfüllt ihren Zweck
In welcher Shopversion hast Du das gemacht? ich finde die Zeile Code: if (isset($_POST['gm_update']))... weder in der admin/ categories.php noch in der admin/ includes/ classes/ categorei.php
Sorry barbara für die späte Antwort meine kleine wurde wach Folgender Codeschnipsel leitet dich nun auf das nächste Artikel welches sich auch in der selben Kategorie befindet PHP: if (isset($_POST['gm_update_and_forward'])) { $query_products_by_id = xtc_db_query("SELECT products_id FROM products_to_categories WHERE categories_id = ".(int)$categoryId." AND products_id > ".(int)$_GET['pID']." LIMIT 1"); $result_products_by_id = xtc_db_fetch_array($query_products_by_id); if ($result_products_by_id) { xtc_redirect(xtc_href_link(FILENAME_CATEGORIES, $cPath.'&action=new_product&pID='.(int)reset($result_products_by_id))); } else { xtc_redirect(xtc_href_link(FILENAME_CATEGORIES, $cPath)); } } Diesen Code fügst du in admin/ categories.php ab Zeile 265 nach PHP: if (isset($_POST['gm_update'])) { xtc_redirect(xtc_href_link(FILENAME_CATEGORIES, $cPath.'&action=new_product&pID='.$productId)); } ein. Ich nutze die Shopversion 2.7.1.2 EDIT: Bug wegen "reset()"-Meldung behoben, der Codeschnipsel wurde aktualisiert
Nun sind auch Unterkategorien mit einbezogen PHP: if (isset($_POST['gm_update_and_forward'])) { $query_products_by_id = xtc_db_query("SELECT products_id FROM products_to_categories WHERE categories_id = ".(int)$categoryId." AND products_id > ".(int)$_GET['pID']." LIMIT 1"); $result_products_by_id = xtc_db_fetch_array($query_products_by_id); if ($result_products_by_id) { xtc_redirect(xtc_href_link(FILENAME_CATEGORIES, $cPath.'&action=new_product&pID='.(int)reset($result_products_by_id))); } else { xtc_redirect(xtc_href_link(FILENAME_CATEGORIES, $cPath)); } }
Funktioniert leider nicht. in Hauptkategorien kommt dieser Fehler: Code: WARNING(2): "reset() expects parameter 1 to be array, boolean given" WARNING(2): "Cannot modify header information - headers already sent by (output started at /www/htdocs/w010a16a/Testshop/system/core/logging/LogControl.inc.php:262)" Und in Unterkategorien werde ich ganz normal auf die Artikel-Übersicht geleitet. Ich werde mir das morgen nochmal ansehen. Vielleicht habe ich ja auch irgendwo einen Fehler gemacht. Vielen Dank jedenfalls, für die Unterstützung
Hallo barbara den Code habe ich gestern zur später Stund noch aktualisiert auf PHP: if (isset($_POST['gm_update_and_forward'])) { $query_products_by_id = xtc_db_query("SELECT products_id FROM products_to_categories WHERE categories_id = ".(int)$categoryId." AND products_id > ".(int)$_GET['pID']." LIMIT 1"); $result_products_by_id = xtc_db_fetch_array($query_products_by_id); if ($result_products_by_id) { xtc_redirect(xtc_href_link(FILENAME_CATEGORIES, $cPath.'&action=new_product&pID='.(int)reset($result_products_by_id))); } else { xtc_redirect(xtc_href_link(FILENAME_CATEGORIES, $cPath)); } } Wenn du nur ein Artikel hast oder dich im letzten Artikel in einer Kategorie befindest wirst du nach "Speichern und weiter" auf die Kategorieübersicht umgeleitet in der du dich grad befindest.
Mit Sicherheit... man müsste nur wissen welche .php-Datei aufgerufen wird unter "Artikel/Kategorie" bei 2.6.1.1
Die Datei ist admin/categories.php nur gibt es dort den eintrag Code: if (isset($_POST['gm_update']))... nicht
Kannst du mir bitte sagen was bei dir als "&action=" Parameter im Formular steht... Rechtsklick auf den "Speichern"-Button dann auf "Prüfen" (Je nach Browser kann es anders heißen.) Hab eben in den Code der Version 2.6... geschaut... Ist eigentlich auch ohne diese if(isset(gm_updater)){} umsetzbar...
Habe ein Bild im Anhang damit du weißt was ich meine. Dieses "new_product" ist bestimmt in der URL - die ist eigentlich nur dafür da, damit Gambio weißt welche View es laden soll. Ich brauche die "action" aus der <form ...... action="...&action=????"....> Dieser Parameter in der <form> sagt in welche switch-case Anweisung ich springen soll.