Speichern und weiter

Thema wurde von barbara, 24. Februar 2016 erstellt.

  1. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    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 :eek:
     
  3. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Wenn der Button speichert und zum nächsten Artikel geht, hast Du mich richtig verstanden :)
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    #4 Anonymous, 24. Februar 2016
    Zuletzt bearbeitet: 25. Februar 2016
    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 :D
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    @barbara: sage bitte bescheid ob es bei dir funktioniert :)
     
  6. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    #7 Anonymous, 25. Februar 2016
    Zuletzt bearbeitet: 25. Februar 2016
    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 :)
     
  8. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Hihi, da kann ich in der 2.6 ja lange suchen :)
    Werde das gleich in meinem 2.7. Testshop versuchen
     
  9. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    #9 Anonymous, 25. Februar 2016
    Zuletzt bearbeitet: 25. Februar 2016
    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));
                        }
                    }
     
  10. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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 :)
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    #11 Anonymous, 25. Februar 2016
    Zuletzt bearbeitet: 25. Februar 2016
    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.
     
  12. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Cooooool :D:cool:

    Danke Danke Danke - Das spart viel Zeit.
     
  13. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399
  14. Anonymous

    Anonymous Beta-Held

    Registriert seit:
    22. März 2015
    Beiträge:
    2.381
    Danke erhalten:
    640
    Danke vergeben:
    414
    Bekommt man das auch irgendwie in 2.6.1.1 hin?
     
  15. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    Mit Sicherheit... man müsste nur wissen welche .php-Datei aufgerufen wird unter "Artikel/Kategorie" bei 2.6.1.1
     
  16. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Einfach Admin/categories.php ist das, glaube ich
     
  17. Anonymous

    Anonymous Beta-Held

    Registriert seit:
    22. März 2015
    Beiträge:
    2.381
    Danke erhalten:
    640
    Danke vergeben:
    414
    Die Datei ist admin/categories.php nur gibt es dort den eintrag

    Code:
    if (isset($_POST['gm_update']))...  
    nicht :(
     
  18. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    #18 Anonymous, 29. Februar 2016
    Zuletzt bearbeitet: 29. Februar 2016
    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...
     
  19. Anonymous

    Anonymous Beta-Held

    Registriert seit:
    22. März 2015
    Beiträge:
    2.381
    Danke erhalten:
    640
    Danke vergeben:
    414
    Der Parameter nach &action ist "new_product"
     
  20. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    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.
     

    Anhänge: