Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware
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: Bitte Erklärung zu xtc_draw_form

    webald

    • modified Team
    • Beiträge: 2.795
    Bitte Erklärung zu xtc_draw_form
    am: 26. Juli 2016, 09:17:34
    Ich habe folgenden Aufruf im BE:
    Code: PHP  [Auswählen]
    xtc_draw_form('eventlocations', FILENAME_WEBALD_EVENTPLAN_SETTINGS, xtc_get_all_get_params(array('action'))  . 'action=save', 'post',  $confirm_submit);

    Das funktioniert. Aber wieso?

    Denn die function xtc_draw_form hat folgenden Aufruf:
    Code: PHP  [Auswählen]
    xtc_draw_form($name, $action, $method = 'post', $parameters = '') {...

    Mein Aufruf oben hat 5 Parameter, die function aber nur 4. Wie geht das? Bin ich heute früh zu blöd das zu kapieren?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=35419.0
    Werbung / Banner buchen

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.147
    • Geschlecht:
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #1 am: 26. Juli 2016, 11:30:23
    Das hat mich auch schon geärgert ohne Ende, vor allen weil es in der Wiki so gut wie gar nicht zu finden ist .....
    Sämtliche xtc_draw Funktionen gibt es doppelt!
    Irgendein geistiger Tiefflieger hat mal in irgendeiner osCommerce Version einen zusätzlichen Parameter gebraucht im Backend. Anstatt den am Ende hinzuzufügen, hat der den zwischen rein gemurkst.

    Die im Backend sind in
    /admin/includes/functions/html_output.php

    Und da steht:
      // Output a form
    Code: PHP  [Auswählen]
      function xtc_draw_form($name, $action, $parameters = '', $method = 'post', $params = '') {

    webald

    • modified Team
    • Beiträge: 2.795
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #2 am: 26. Juli 2016, 12:03:24

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.147
    • Geschlecht:
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #3 am: 26. Juli 2016, 12:22:18
    :thx:

    Wird aber vermutlich nicht umgesetzt, weil dann 125000 Module nicht mehr gehen.

    webald

    • modified Team
    • Beiträge: 2.795
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #4 am: 26. Juli 2016, 12:28:37
    Man kann aber eine weiterleitung machen und damit die Logik nur einmal implementieren.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.147
    • Geschlecht:
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #5 am: 26. Juli 2016, 13:14:33
    Ja, aber alle Module gehen im Backend von dieser Parameterreihenfolge aus:
    Code: PHP  [Auswählen]
    function xtc_draw_form($name, $action, $parameters = '', $method = 'post', $params = '') {
    und im Frontend von dieser:
    Code: PHP  [Auswählen]
    function xtc_draw_form($name, $action, $method = 'post', $parameters = '') {

    wird man jetzt die Backend Funktionen auf das Frontend mappen ... wird das Modul das bisher
    Code: PHP  [Auswählen]
    xtc_draw_form('my_name','irgendwas.php','class="my_css_class"','get') {
    aufruft, dann 'class="my_css_class"' als $method übergeben.

    Man müsste 95% der Module anpassen .... was für eine 2.0 auch erforderlich ist .... meiner Ansicht nach hat man das einfach nur verpennt. Es wäre für die 2.0 genau der richtige Zeitpunkt gewesen hier korrigierend einzugreifen um diese Altlast loszuwerden.

    webald

    • modified Team
    • Beiträge: 2.795
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #6 am: 26. Juli 2016, 14:19:49
    Code: PHP  [Auswählen]
    function xtc_draw_form($name, $action, $method = 'post', $parameters = '') {
        return BE.xtc_draw_form($name, $action, $parameters, $method, $params = '')
    }

    Ich dacht eher an so etwas

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.147
    • Geschlecht:
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #7 am: 26. Juli 2016, 15:20:34
    Ahhh, jetzt dämmerts! Ja, das ginge.

    webald

    • modified Team
    • Beiträge: 2.795
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #8 am: 26. Juli 2016, 15:30:44
    So in der Art ginge das, tatsächlich muss man aber aufpassen, da man 2x den gleichen Funktionsnamen hätte....

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #9 am: 26. Juli 2016, 18:11:21
    Einige Funktionen gibt es unter dem selben Namen im Backend und im Frontend.
    Diese Funktionen sind auch oft unterschiedlich.
    Wenn man das weiss ist es auch kein großes Problem, da die Funktionen auch völlig anders includet werden.
    Im Frontend jede Funktionsdatei einzeln, im Backend mit 2 Dateien.
    Entwickler müssen sich diese Dateien in admin/includes/functions/ anschauen:

    html_output.php
    general.php

    Soweit möglich wurden in der general.php aber bereits Funktionen bereinigt, da war wirklich einiges doppelt.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.147
    • Geschlecht:
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #10 am: 27. Juli 2016, 11:12:17
    Es geht mir persönlich nicht primär darum, dass es doppelt ist, sondern darum dass Paare von Funktionen mit identischem Namen und fast identischer Funktionalität existierten, die unterschiedliche Parameterreihenfolge haben. Das stiftet nur Verwirrung und führt zu Frust bei Shopbetreibern die ab und an mal selbst was programmieren. So was ist eine Projektbremse!
    Es wagt sich mal jemand an eine nette Funktion um sie der Community zu übergeben und dann hängt er einen halben Tag an der Fehlersuche .... Spaßbremse ....

    webald

    • modified Team
    • Beiträge: 2.795
    Re: Bitte Erklärung zu xtc_draw_form
    Antwort #11 am: 15. September 2016, 11:39:47
    Dieser Murks verursacht eine Menge Extra-Arbeit wenn man Module im FE und BE nutzen will. Ich denke da an so etwas wie "Usercontrols", welche bestimmte Funktionen oder Ausgaben bereitstellen und sowohl im FE als auch BE Sinn machen. Beispiel ein Kalender-Control etwa.
    0 Antworten
    1594 Aufrufe
    14. Juli 2016, 10:50:22 von lohkaes1
    4 Antworten
    3036 Aufrufe
    08. Juli 2014, 14:07:39 von sixtyseven