Kann man die Attribut-Zuweisung per URL aufrufen?

Thema wurde von sirtet, 5. März 2021 erstellt.

  1. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.114
    Danke erhalten:
    88
    Danke vergeben:
    88
    Ich brauche eine URL, um die Attribute zu einem bestimmten Artikel zu bearbeiten.
    Dies weil ich dies massenhaft machen muss (Migration Attribute zu Eigenschaften).
    Ich versuche eine Link-Liste zu generieren, so dass ich mit einem Klick zum Ziel komme.

    Das geht aber nicht so leicht, weil die new_attributes.php die Daten per POST erhält.
    Ich hab versucht ob man die Parameter auch per GET übergeben kann, ohne Erfolg:
    admin/new_attributes.php?action=edit&current_product_id=743

    Gibt's da doch einen Trick dazu?
     
  2. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.114
    Danke erhalten:
    88
    Danke vergeben:
    88
    Vielleicht kann jemand aus dem ärmel schütteln, wie man die new_attributes.php patchen müsste, damit sie auch GET daten annimmt?

    Einfach alle PUT durch GET ersetzen war nicht die Lösung...
    (klar, so ginge nur noch GET, das wäre aber für vorübergehend ok für mich.)
     
  3. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.114
    Danke erhalten:
    88
    Danke vergeben:
    88
    #3 sirtet, 5. März 2021
    Zuletzt bearbeitet: 6. März 2021
    GELÖST:
    Das geht mit einer Data URL:
    Diese enthält, base64 encodiert, das HTML für ein Formular das zum gewünschten Artikel führt und per JS mit submit onLoad automatisch abgeschickt wird ;-)

    Ich erzeuge die URL per SQL:
    Code:
    /* Hilfe zur Migration Attribute zu Eigenschaften.
    -------------------------------------------------*/
    /* 3 Links pro Art. zum Attr. löschen & Eigenschaften anlegen, für alle aktiven Hauptartikel die Attribute haben.
    ACHTUNG, erst editieren und gültige XTCsid einsetzen, zu finden im Seiten-Quelltext von /admin/new_attributes.php */
    SELECT
        DISTINCT
        /* pd.products_name, */
        CONCAT ('start chrome /new-window data:text/html;charset=utf-8;base64,', REPLACE(TO_BASE64(CONCAT('<body onload="document.s.submit()"><form action="https://www.meinshop.tld/admin/new_attributes.php" name="s" method="post"><input type="hidden" name="action" value="edit"><input type="hidden" name="XTCsid" value="me4r5ok9od9657h5pfaq6keal0"><input type="hidden" name="current_product_id" value="',p.products_id,'"</input><input type="submit" value="go"></form></body>')), '\n', ''), ' "meinshop.tld/admin/properties_combis.php?products_id=',p.products_id,'&cPath=3_6&action=edit_category" meinshop.tld/product_info.php?info=p',p.products_id) AS PasteMeToCMD
     
    FROM products_attributes pa
    JOIN    products_description pd ON pd.products_id = pa.products_id AND pd.language_id = 2
    JOIN products p ON p.products_id = pa.products_id AND p.products_status = 1
    ORDER BY pa.products_attributes_id
    Das Ergebnis, hier eine Beispiel-Zeile,
    Code:
    start chrome /new-window data:text/html;charset=utf-8;base64,PGJvZHkgb25sb2FkPSJkb2N1bWVudC5zLnN1Ym1pdCgpIj48Zm9ybSBhY3Rpb249Imh0dHBzOi8vd3d3LnBhZGRsZXJzaG9wLmNoL2NhdGFsb2cvmWRtaW4vbmV3X2F0dHJpYnV0ZXMucGhwIiBuYW1lPSJzIiBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9ImokaXQiPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImN1cnJlbnRfcHJvZHVjdF9pZCIgdmFsdWU9IjEwNTIiPC9pbnB1dD48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iZ28iPjwvZm9ybT48L2JvZHk+ "meinshop.tld/admin/properties_combis.php?products_id=1052&cPath=3_6&action=edit_category" meinshop.tld/product_info.php?info=p1052
    kann man (einige-Zeilen-weise) in Windows in CMD Pasten.
    Dann öffnet sich pro Artikel ein Chrome-Fenster mit den drei Tabs ATTR-Edit, EINGENSCHAFT-Edit, Produkt-im-Shop. Ich brauche das um möglichst einfach von Attributen zu Eigenschaften migrieren zu können. Das Select gibt mir alle Aktiven Art. mit Attributen. Eigenschaftswerte analog zu Attributwerten habe ich vorab angelegt. Wenn man dann jeden Art. in einem eigenen Fenster hat, kann man recht zügig durch die Tabs schalten zum die Attribute löschen, analoge Eigenschaften erstellen und das Ergebnis kontrollieren. Fenster mit alt-F4 schliessen und weiter geht's beim nächsten Art...