Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: Artikel Anfrage

    esoversum

    • Fördermitglied
    • Beiträge: 131
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #480 am: 09. November 2022, 19:14:52
    Habe einfach die offensichtlichste Datei "shop_content_popup.php" vergessen hochzuladen..  :lol1:

    Alles gut, funktioniert perfekt.

    Schöne Grüße,
    eso

    Teichbau

    • Fördermitglied
    • Beiträge: 385
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #481 am: 16. Januar 2023, 12:44:58
    Hallo zusammen,
    ich habe das Modul am Samstag installiert und es funktioniert.

    Nun habe ich zusätzlich den Link für die "Informationen"-Box freigeschaltet.
    Dabei besteht die Situation das nach dem drücken des "ABSENDEN" Button das Bestätigungsfenster nicht als Popup sondern als Vollbild dargestellt wird.
    Nun meine Frage, kann jemand von Euch ersehen warum das so ist?

    Ich bitte um Eure Hilfe

    MfG Teichbau

    modified eCommerce Shopsoftware v2.0.7.2 rev 14622 dated: 2022-07-04
    Datenbank Version: "MOD_2.0.7.2"

    Teichbau

    • Fördermitglied
    • Beiträge: 385
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #482 am: 18. Januar 2023, 10:13:42
    Hallo zusammen,
    ich möchte mich nochmal mit meiner Frage in Erinnerung bringen.

    Hat jemand das Modul bereits in der aktuellen Version
    Zitat
    modified eCommerce Shopsoftware v2.0.7.2 rev 14622 dated: 2022-07-04
    Datenbank Version: "MOD_2.0.7.2"
    installiert und kann mein Problem nachvollziehen oder liegt es an meinem Einbau?

    Möglicherweise kann mir jemand Hilfe geben in welcher Datei ich den Fehler suchen muß.

    Ich bitte um Eure Hilfe

    MfG Teichbau

    modified eCommerce Shopsoftware v2.0.7.2 rev 14622 dated: 2022-07-04
    Datenbank Version: "MOD_2.0.7.2"

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #483 am: 18. Januar 2023, 11:32:51
    Tritt das Problem nur auf, solange die Seite in der Box verlinkt ist oder ist es dir erst danach aufgefallen?

    btw... Das Modul hat in der Box eigentlich nichts zu suchen, da es sich ja auf den jeweiligen Artikel bezieht, auf dessen Detailseite man sich befindet.

    Teichbau

    • Fördermitglied
    • Beiträge: 385
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #484 am: 18. Januar 2023, 11:59:31
    Hallo,
    ja mir ist bewußt das das Modul eigentlich für einen bestehenden Artikel gebaut wurde. Durch die Verlinkung über die "Informationen"-Box wollte ich zusätzlich ein Formular anbieten, damit Kunden eine Anfrage zu einem nicht gefundenen Artikel stellen können...

    Ich hoffe Deine Frage richtig verstanden zu haben:
    - aus der Artikeldetailsansicht ist alles so wie es sein soll - immer mit Popup.
    - aus der Box heraus von Anfang an nur mit Vollbildschirm - kein Popup.

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #485 am: 18. Januar 2023, 15:05:24
    In der Datei /media/content/contact_us_popup.php hast du in Zeile 207 folgendes stehen:

    Code: PHP  [Auswählen]
          xtc_redirect(xtc_href_link(FILENAME_PRODUCT_INQUIRY, 'action=success&coID='.(int) $_GET['coID']));

    Das bewirkt, dass du nach dem Absenden des Formulars auf der Erfolgsseite der shop_content_popup.php landest, folglich also nur diese (in groß) angezeigt bekommst, ohne das umliegende Shop-Konstrukt.

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #486 am: 18. Januar 2023, 15:53:24
    Lösung

    Durch eine entsprechende Clause könntest du das abfangen, indem du o. g. Zeile wie folgt abänderst:

    Code: PHP  [Auswählen]
          if (isset($article_id) && $article_id != '') {
            xtc_redirect(xtc_href_link(FILENAME_PRODUCT_INQUIRY, 'action=success&coID='.(int) $_GET['coID']));
          } else {
            xtc_redirect(xtc_href_link(FILENAME_CONTENT, 'action=success&coID='.(int) $_GET['coID']));
          }
     

    In meinem Versuchsnachbau habe ich allerdings festgestellt, dass sich die Inputs für die Produktdaten nicht manuell befüllen lassen. Hast du das schon gelöst oder kommt das dann als nächster Hilfeschrei?

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #487 am: 18. Januar 2023, 16:20:57
    OT

    Immer wieder sehe ich, wie zum Beispiel in diesem Thread, if-Abfragen folgender Art.

    Code: PHP  [Auswählen]
     if (isset($article_id) && $article_id != '') {

    Vor dem Hintergrund folgender Links,

    https://www.php.net/manual/de/function.empty.php
    https://www.w3schools.com/php/func_var_empty.asp

    frage ich mich, ob das nicht gleibedeutent mit der folgenden kürzeren Abfrage ist.

    Code: PHP  [Auswählen]
     if (!empty($article_id)) {

    Gruss
    Hanspeter

    Teichbau

    • Fördermitglied
    • Beiträge: 385
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #488 am: 18. Januar 2023, 17:06:38
    @awids
    Ja, der Code funktioniert - die Bestätigung ist jetzt auch als Popup zu sehen.
    Ich bedanke mich das Du mir geholfen hast.

    Richtig, die Produktdatenfelder lassen sich nicht befüllen - aber siehst  Du da noch eine Möglichkeit das "neutrale, nicht produktbezogene" Formular ohne die beiden Datenfelder zu öffnen...

    @Hanspeter
    Ich habe Deine Codezeile eingebaut und es funktioniert ebenfalls.

    MfG

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #489 am: 18. Januar 2023, 17:45:57
    Suche in selbiger Datei folgendes:

    Code: PHP  [Auswählen]
    // START Artikel Anfrage PopUp
        // is required for the contact-form field data
        $smarty->assign('INPUT_ARTICLE_NAME', xtc_draw_input_field('article_name', $product->data['products_name'], 'readonly'));
        $smarty->assign('INPUT_ARTICLE_MODEL', xtc_draw_input_field('article_model', $product->data['products_model'], 'readonly'));
        $smarty->assign('INPUT_ARTICLE_ID', xtc_draw_hidden_field('article_id', $product->data['products_id']));
    // END Artikel Anfrage PopUp

    und ersetze es mit diesem:

    Code: PHP  [Auswählen]

    // START Artikel Anfrage PopUp
        // is required for the contact-form field data
        $read_only = basename($PHP_SELF) == FILENAME_CONTENT ? '' : 'readonly';
        $smarty->assign('INPUT_ARTICLE_NAME', xtc_draw_input_field('article_name', $product->data['products_name'], $read_only));
        $smarty->assign('INPUT_ARTICLE_MODEL', xtc_draw_input_field('article_model', $product->data['products_model'], $read_only));
        $smarty->assign('INPUT_ARTICLE_ID', !empty($product->data['products_id']) ? xtc_draw_hidden_field('article_id', $product->data['products_id']) : '');
    // END Artikel Anfrage PopUp

    Dann lassen sich die Felder außerhalb des PopUps auch beschreiben.

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #490 am: 18. Januar 2023, 17:49:39
    OT

    Immer wieder sehe ich, wie zum Beispiel in diesem Thread, if-Abfragen folgender Art.

    Code: PHP  [Auswählen]
     if (isset($article_id) && $article_id != '') {

    Vor dem Hintergrund folgender Links,

    https://www.php.net/manual/de/function.empty.php
    https://www.w3schools.com/php/func_var_empty.asp

    frage ich mich, ob das nicht gleibedeutent mit der folgenden kürzeren Abfrage ist.

    Code: PHP  [Auswählen]
     if (!empty($article_id)) {

    Gruss
    Hanspeter

    Mir war gar nicht bewusst, dass empty() keine Warnung auswirft, wenn nicht vorhanden/definiert. Hab auch noch nicht oft mit der Funktion gearbeitet. Vor diesem Hintergrund ist diese kürzere Abfrage natürlich tatsächlich gleichbedeutend mit der Langform.

    RobinTheHood

    • Experte
    • Beiträge: 210
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #491 am: 18. Januar 2023, 19:14:48
    Hallo und guten Abend,

    da ich das hier gesehen habe und gern etwas dazu sage würde, weil mir das öfters mal auffällt. Ich persönlich würde auch

    Code: PHP  [Auswählen]
    if (!empty($article_id)) {
        ...
    }

    nicht empfehlen. Natürlich erfüllt es hier seine Aufgabe, aber ich würde gerne einmal folgendes zeigen, um es als Anregung zu verwenden:

    Code: PHP  [Auswählen]
    <?php

    $articleId = 42;

    ...
    // do a lot of things
    ...


    if (!empty($articelId)) {
        echo 'Ein rotes Fahrrad';
    }

    Der Text "Ein rotes Fahrrad" wird uns NIE angezeigt egal welche $articleId wir wählen und wir haben mit der Funktion empty() sogar noch zusätzlich dafür gesorgt, dass uns PHP jetzt nicht einmal mehr mitteilt, was wir falsch gemacht haben.

    Mit besten Grüßen und einen schönen Abend
    Robin

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #492 am: 18. Januar 2023, 19:36:17
    Verstehe ich nicht, könntest du das erläutern ?

    Die fehlende Klammer bei
    Code: PHP  [Auswählen]
    if (!empty($articelId) {

    und die nicht auskommentierten
    Code: PHP  [Auswählen]
    ...

    sind sicher ein Versehen ?

    Gruß,
    noRiddle

    *NACHTRAG*
    Ach, übersehen, Syntax der Variablen ist verkehrt. Verstanden. Ein gutes Argument.

    RobinTheHood

    • Experte
    • Beiträge: 210
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #493 am: 18. Januar 2023, 20:00:39
    Guten Abend noRiddle,

    vielen Dank für den Hinweis, die Klammer soll da noch hin. Die habe ich aus Versehen vergessen. Habe das eben noch einmal korrigiert. 🙂

    Ich habe das Beispiel so gewählt, dass man ein bisschen genauer hinschauen muss. Wie du schnell erkannt hast, $articelId und $articleId sind unterschiedlich geschrieben, ein Flüchtigkeitsfehler, der nach meiner Erfahrung in dieser Form im Alltag gar nicht selten vorkommt.

    Aber wie gesagt, ich glaube man kann es auch gut mit empty() machen. Persönlich würde ich immer versuchen alle Variablen zu definieren (wenn möglich). Auf mein Beispiel bezogen sähe das dann vielleicht so aus:

    Code: PHP  [Auswählen]
    <?php

    $articleId = $_GET['article_id'] ?? null;

    ...
    // do a lot of things
    ...


    if ($articleId) {
        echo 'Ein rotes Fahrrad';
    }

    Da ich gar nicht so weit weg wollte vom eigentlichen Thema hier und den Hinweis mit empty() von hpzeller auch nicht schlechter machen will, würde ich jetzt versuchen nicht mehr viel dazu zu schreiben. Sollte nur eine kleine Anregung, Hinweis, Ergänzung sein.

    Allen ein schönen Abend und mit besten Grüßen
    Robin

    PS: Wenn man es ganz genau nimmt, habe ich das gleiche Problem nur in die erste Zeile verschoben. 😅

    Teichbau

    • Fördermitglied
    • Beiträge: 385
    • Geschlecht:
    Re: MODUL: Artikel Anfrage
    Antwort #494 am: 19. Januar 2023, 09:37:33
    @awids
    auch das hat funktioniert und ich freue mich das Du mir bei der Umsetzung geholfen hast - nochmals vielen Dank.
    Code: PHP  [Auswählen]
    Suche in selbiger Datei folgendes:

    Code: PHP  [Auswählen]
    // START Artikel Anfrage PopUp
        // is required for the contact-form field data
        $smarty->assign('INPUT_ARTICLE_NAME', xtc_draw_input_field('article_name', $product->data['products_name'], 'readonly'));
        $smarty->assign('INPUT_ARTICLE_MODEL', xtc_draw_input_field('article_model', $product->data['products_model'], 'readonly'));
        $smarty->assign('INPUT_ARTICLE_ID', xtc_draw_hidden_field('article_id', $product->data['products_id']));
    // END Artikel Anfrage PopUp

    und ersetze es mit diesem:

    Code: PHP  [Auswählen]

    // START Artikel Anfrage PopUp
        // is required for the contact-form field data
        $read_only = basename($PHP_SELF) == FILENAME_CONTENT ? '' : 'readonly';
        $smarty->assign('INPUT_ARTICLE_NAME', xtc_draw_input_field('article_name', $product->data['products_name'], $read_only));
        $smarty->assign('INPUT_ARTICLE_MODEL', xtc_draw_input_field('article_model', $product->data['products_model'], $read_only));
        $smarty->assign('INPUT_ARTICLE_ID', !empty($product->data['products_id']) ? xtc_draw_hidden_field('article_id', $product->data['products_id']) : '');
    // END Artikel Anfrage PopUp

    Dann lassen sich die Felder außerhalb des PopUps auch beschreiben.
    97 Antworten
    42254 Aufrufe
    13. März 2019, 12:34:42 von goair
    4 Antworten
    1858 Aufrufe
    16. Januar 2020, 12:55:41 von hpzeller
    2 Antworten
    236 Aufrufe
    29. November 2023, 09:10:16 von Timm
               
    anything