php in templatedateien v 3.8.1.0

Thema wurde von ff-webdesigner, 9. Mai 2018 erstellt.

  1. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    kann es sein dass gambio seit kurzem jegliches einbinden von php code in templatedateien unterbindet?

    gambio gx 3.8.1.0, datei checkout_success.html

    nicht mal ein einfaches <?php echo "jj"; ?> geht durch.

    ja, ich weiss soll man nicht machen, aber wenn man für einen kunden eben mal schnell und einfach was programmieren soll ist das trotzdem die einfachste art.

    ja, ich komm an smarty sacehn ran....aber wenn du erst mal komplexe berechnungen warenkorb wegen tracking pixeln billiger.de in checkout_success.html machen musst definitiv die erste wahl.

    bin garantiert an der richtigen stelle, alles vor und nach php wird an html korrekt ausgegeben.
     
  2. Developer

    Developer Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    2.885
    Danke erhalten:
    617
    Danke vergeben:
    113
    Bitte nicht falsch verstehen: Hast Du dich schon mal mit der Übeladung auseinander gesetzt? Ob das definitiv die erste Wahl ist, lasse ich mal im Raume stehen.

    Was konkrekt versucht Du zu machen? Ein Beispiel wäre nett. :)
     
  3. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Gerade solche Tracking-Geschichten haben in dem Smarty-Template eigentlich gar nichts verloren, so etwas implementiert man normalerweise über einen Overload der CheckoutSuccessExtenderComponent, in system/overloads/CheckoutSuccessExtenderComponent liegen ein paar Beispiele rum. Eigenes würdest du dann entsprechend in GXModules/FFWeb/Tracking/Shop/Overloads/CheckoutSuccessExtender/FFWebTrackingCheckoutSuccessExtender.inc.php o.s.ä. unterbringen.

    PHP-Code über <?php … ?> ging in Smarty-Templates auch noch nie. Es gab mal {php} … {/php}, aber das ist mit dem Update auf Smarty 3 rausgeflogen.
     
  4. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    ja klar hab ich überladen...ändern sich die zugrundeliegenden klassen (was recht häufig passiert) darfst du den kompletten overload neu schreiben.

    ich versuche einfach alle produkte der bestellung (ids, preis, name, artnr) urlcodiert an ein tracking pixel anzuhängen in checkout_success.html - aber schon eine einfaches echo kommt anscheinend nicht mehr durch...seit wann ist das so? ging 10 jahre lang problemlos...
     
  5. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    hm...ok eben mal angeschaut...über welche klasse/overload komme ich denn am geschicktesten an folgende daten ran:

    artikelname
    artkelnummer
    artikelanzahl
    artikelpreis

    früher hätte ichs einfach über die session daten gemacht...aber da gibts keine order data mehr, korrekt?
     
  6. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    26. April 2011
    Beiträge:
    993
    Danke erhalten:
    208
    Danke vergeben:
    100
    schau doch einfach mal was dir die Session so liefert ...

    einfach an geeigneter Stelle im Template unterbringen.

    Code:
    <pre>
    {$smarty.session|print_r}
    </pre>
    
     
  7. Developer

    Developer Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    2.885
    Danke erhalten:
    617
    Danke vergeben:
    113
    Marco hat dir deine Frage eigentlich beantwortet:

     
  8. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399
    Das dürfte seit der Umstellung auf Smarty 3 nicht mehr gehen, also knapp seit drei Jahren. Das war vorher schon nicht cool und ist über die Jahre nicht besser geworden. Also: Nicht machen.

    Wie es gehen kann, hat Marco denke ich schon korrekt beschrieben.
     
  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
    Wir haben das genau so wie es @Marco (Gambio) geschrieben hat umgesetzt! In einem Overload werden Daten nicht nur verändert sondern man kann vorhandene Objekte auch in eigenen Methoden verarbeiten.

    Bei uns war es ein Data-Layer welcher in den head musste. Da ist nichts im Templates gemacht, sondern alles per Overload!
     
  10. Developer

    Developer Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    2.885
    Danke erhalten:
    617
    Danke vergeben:
    113
    :D
     
  11. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Ich bin zwar kein Programmierer, habe aber einige Overloads in meinem Shop.
    Wenn ich jedes MU mache, dann muss ich die vielleicht bei jedem 3 (also einmal im Jahr) anfassen, weil sich da irgendetwas geändert hat.
    USERMODs muss ich aber bei jedem Update im Auge haben.
    Nachsehen ob die Datei im Paket ist, wenn ja, vergleichen, Änderungen übertragen.
    Ist vom Aufwand her für mich deutlich mehr.
     
  12. 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
    Nun, das geht mit den neuen Blocks ebenfalls deutlich besser.
     
  13. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Ich weiß, ich habe auch schon alles was ging umgestellt :)
     
  14. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
    Wenn Blöcke fehlen, nehmen wir gerne Vorschläge entgegen, da kann man jetzt noch was tun. Wenn jemand jetzt was weiss, dass aber erst in 3 Jahren ausformuliert, hat eine Nichtlösung möglicherweise dann schon einen fiesen Bestandsschutz. Also immer raus mit Mängeln

    Davon ab: PHP in Smarty Templates, keine Tricks versuchen, einfach nicht mehr machen. Das ist auch nicht nur in Gambio so, das ist aus gutem Grund bei den Smarty Entwicklern in Verruf gekommen, und zieht sich so durch in alle Lösungen die Smarty einsetzen. Das darf man einfach nicht mehr.
     
  15. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Hallo Wilken
    Ich glaube da kam schon etwas in der 3.9. das muss ich mir noch einmal genauer ansehen.
    Dann kommen meine Wünsche dazu :)