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.454
    Danke erhalten:
    743
    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:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    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.454
    Danke erhalten:
    743
    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.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    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:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    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:
    3.149
    Danke erhalten:
    718
    Danke vergeben:
    127
    Der ist gut. :D
     
  7. Kai Stejuhn
    Kai Stejuhn Beta-Held
    Registriert seit:
    26. September 2014
    Beiträge:
    1.454
    Danke erhalten:
    743
    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:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    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.