Kann eine function updatesicher überschrieben werden (overload/extender)?

Thema wurde von Kai Stejuhn, 17. November 2016 erstellt.

  1. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    #1 Kai Stejuhn, 17. November 2016
    Zuletzt bearbeitet: 17. November 2016
    Hallo,

    gibt es eigentlich inzwischen die Möglichkeit, eine function, hier die "xtc_expire_specials()" aus /inc/xtc_expire_specials.inc.php, updatesicher zu überschreiben, z. B. mittels overload oder extender?

    Die Problemstellung:
    Die Sonderangebote laufen immer am Tag vor dem Datum "gültig bis" ab. D. h. wenn ich "gültig bis 30.11.2016" eingebe, dann wird das Sonderangebot bis zum 29.11.2016 um 24:00 Uhr angezeigt, dann wird es durch die obige function auf inaktiv (status=0) gesetzt.

    Wenn ich nun die function überschreiben kann, dann kann ich dort die Abfrage so gestalten, dass die Sonderangebote wirklich bis zum angegeben Tag gültig sind.

    Nachtrag:
    Shop-Version: 3.2.0.1
    Template: HoneyGrid
     
  2. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Alle imfos für Entwickler (Link nur für registrierte Nutzer sichtbar.)
     
  3. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    Ist ein netter Hinweis, aber so ganz steig ich da noch nicht durch. Nach meinen "bescheidenen Wissen" würde ich ja mal vermuten, das es nicht geht. Da ich mir aber nicht sicher bin, stelle ich hier die Anfrage, komme aber mit Deiner Antwort jetzt nicht wirklich weiter.
     
  4. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Schau da mal in den Punkt "tutorials", da hast Du rechts eine Themenauswahl.
     
  5. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Kein Ding, dachte halt bist Programmierer weil du so gezielt gefragt hast.
    Zu den Klassen die überladen werden können
    (Link nur für registrierte Nutzer sichtbar.)
    Liste der extender fähigen Dinge ist auch da.

    Und notfalls halt auf Wild West Art wie früher.
     
  6. Developer

    Developer Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    2.885
    Danke erhalten:
    617
    Danke vergeben:
    113
    Der ist gut. :D
     
  7. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    Ist schon richtig, ich bin Programmier, komme allerdings mehr aus der Windows-Schiene und bin noch nicht so lange mit PHP, SQL usw. zu Gange.

    Was meinst Du denn damit?

    Ich habe schon mal bei den Tutorials geschaut, aber dort ist die function nicht aufgeführt. Die function kommt ja nicht aus einer Klasse, damit fällt ja, wenn ich alles richtig verstanden habe, das Overloading schon mal aus. Bei den Externdern ist die function auch nicht bei, da diese aus dem "inc" Verzeichnis kommt und diese wohl weder Overload noch Extender zulässt. Ich war mir nur nicht sicher, ob es nicht noch eine andere, ausser den beiden genannten, Möglichkeit gibt eine einzelne function zu überlagern.

    Ich könnte jetzt zwar eine neue function schreiben und die per overloading bzw. extender in die TopApplication bringen, das nutzt mir bloß nichts, weil dann die "alte" function schon Tatsachen geschaffen hat, die ich dann icht mehr kontrolliernen kann.
     
  8. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Wild West Art ist, den original Code anpassen und direkt ändern statt overload und extender. Gambio hat noch nicht alles alte aus früheren Zeiten überarbeitet daher geht manches wohl nur so wie früher. Aber es wird immer mehr umgebaut. Aber nu bin ich raus da ich überhaupt kein Programmierer bin.
     
  9. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Nein die kannst du nicht überladen! Du hast richtig erkannt, es handelt sich nicht um eine Klasse! Hier wirst du direkt in der Datei arbeiten müssen, was leider nicht updates-sicher ist.