Shad86 Posted March 1, 2017 Share Posted March 1, 2017 (edited) Moin, da meine Variante anscheinend Fehler verursacht: Ich möchte durch einen Button einen Iframe mit einem Kontaktformular öffnen. Quasi der selbe Effekt der passiert wenn man im Produkt auf das Bild klickt und es n voller Größe geöffnet wird. Per Fancybox funktioniert es zwar, es werden aber einige JS Fehler angezeigt. Also hoffe ich hier auf Hilfe um das ganze sauber umgesetzt zu bekommen. http://testshop.displayandpack.com/de/drehdispenser/11-78-drehdispenser-a4-a6.html#/25-bedruckung-mit_ihrem_motiv_bedruckt/28-dispenserposition-mitte/31-produktionszeit-8_werktage Es geht um den "Produkt anfragen" Button, bzw. hauptsächlich um dessen JS Funktion. Edited March 1, 2017 by Shad86 (see edit history) Link to comment Share on other sites More sharing options...
wmunich Posted March 1, 2017 Share Posted March 1, 2017 Hi Shad86, glaub Du hast die js Fehler auch ohne fancybox ... warum werden bei Dir überhaupt die folgenden .js files ungefähr 15x geladen? <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script><script type="text/javascript" src="/js/fancybox/lib/jquery.mousewheel-3.0.6.pack.js"></script><script type="text/javascript" src="/js/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script> Beheb das mal .. und zwecks der Schönheit auch mal alle doppel // weg (macht ihm zwar nix, sieht aber seltsam aus) LG, Tom Link to comment Share on other sites More sharing options...
Shad86 Posted March 1, 2017 Author Share Posted March 1, 2017 Naja ich habe die drei Zeilen in folgende Datei gepackt: themes/meintheme/templates/_partials/javascript.tpl Keine Ahnung wieso er die dann so oft rein packt. Also einfach in die header.tpl damit ich kontrollieren kann wie oft. Und ich teste meine Änderungen gerade an der 1.7.1.0 Beta und wollte diese dabei auch gleich mal etwas aufräumen. Module habe ich alle installiert die auch auf dem Shop installiert sind den ich verlinkt habe, soweit keine JS Fehler. Sobald ich aber meine per Hand geänderten Änderungen mache, geht es los mit den JS fehlern. Da auch ein dazugekauftes Modul wegen JS Fehlern nicht funktioniert bin ich davon ausgegangen das es erstmal diese Änderungen sind. Link to comment Share on other sites More sharing options...
Shad86 Posted March 2, 2017 Author Share Posted March 2, 2017 Jetzt habe ich die drei Verlinkungen nicht mehr in der javascript.tpl sondern direkt im head.tpl, sieht optisch auch besser aus vom Code her, der Button funktioniert aber nicht mehr. Ich kriege die Kriese... Hat einer einen Tip für mich wo ich die drei Fancybox Scripts hin packen muss damit sie nicht zig mal in den Head geschrieben werden aber der button trotzdem noch geht? Link to comment Share on other sites More sharing options...
wmunich Posted March 2, 2017 Share Posted March 2, 2017 Hi, sieht aber schon besser aus! Ich lass den 1.7x momentan noch links liegen aber mal kurz reingeschaut und ich denke nicht das Du die .js files in die template.tpl bzw. header.tpl oder footer.tpl packen solltest. Hoff ich erzähl jetzt keinen schmarrn aber der 1.7 setzt ja auf symfony auf und dort ist es so das die assets immer in eine .yml gehören ... hast Du keine theme.yml oder template.yml? Wenn ja pack sie da rein...und nirgends sonst! LG, Tom Link to comment Share on other sites More sharing options...
Shad86 Posted March 2, 2017 Author Share Posted March 2, 2017 (edited) Na das ist doch mal eine gute Info. Werd mich wohl mal etwas in symfony einlesen müssen... es gibt eine theme.yml aber da drin gibt es nur assets: # If you're using this theme as child and you want to load # the parent theme assets, uncomment this line. # use_parent_assets: true # The following lines are showing how to load assets in your page # Uncomment and change value to start loading css or js files # css: # all: # - id: custom-lib-style # path: assets/css/custom-lib.css # product: # - id: product-style # path: assets/css/product.css # media: all # priority: 200 # js: # cart: # - id: cat-extra-lib # path: assets/js/cart-lib.js Und da könnte ich dann auf die angegebene Weise wohl die drei Scripts als auch den Code aus der custom.js einfügen? Ich werds mal probieren. Oder ob ich vielleicht völlig auf dem Holzweg bin und ich das ganze vielleicht viel simpler machen kann. Wie gesgat möchte ja "nur" das ein Button einen Iframe aufruft wie es beim Bildzoom passiert. Edited March 2, 2017 by Shad86 (see edit history) Link to comment Share on other sites More sharing options...
wmunich Posted March 2, 2017 Share Posted March 2, 2017 (edited) Ja genau da bist Du schon richtig ... sag ich jetzt einfach mal so (ohne garantie da 1.7 für mich noch nicht lebt) Und nein in die yml gehört kein JS code, dort kannst Du nur files anziehen, in deinem Fall etwa so assets: js: all: - id: custom path: assets/js/custom.js priority: 4 position: bottom gleiches natürlich mit css. Das ist enorm wichtig bei sf sonst erlebst Du dein Wunder wenn Du auf prod stellst Wichtig ist auch die formatierung einzuhalten da sonst die yml nicht mehr interpretiert wird! Edited March 2, 2017 by wmunich (see edit history) Link to comment Share on other sites More sharing options...
Shad86 Posted March 2, 2017 Author Share Posted March 2, 2017 JA, ich hätte es jetzt so: css: product: - id: fancybox path: fancybox/source/jquery.fancybox.css?v=2.1.5 media: all js: product: - id: fancybox path: fancybox/lib/jquery.mousewheel-3.0.6.pack.js path: fancybox/source/jquery.fancybox.pack.js?v=2.1.5 path: http://code.jquery.com/jquery-latest.min.js path: assets/js/custom.js Tut sich aber garnichts. Zeigt auch nirgends im Quelltext was an. Werde mich da jetzt mal etwas einlesen, vielleicht übersehe ich nur was. Link to comment Share on other sites More sharing options...
wmunich Posted March 2, 2017 Share Posted March 2, 2017 Du musst wenn Du Änderungen in der yml vornimmst immer den sf cache löschen ... ungefähr so $ php bin/console cache:clear --env=prod Und ich "glaube" nicht das Du einfach mehrere path Angaben machen kannst ... brösel die lieber auf in mehrer "product:" ... sonst kommt er ja auch durcheinander mit den prios. Ja ums einlesen kommst wahrscheinlich nicht aus, wobei das bei sf überhaupt keinen Spaß macht Link to comment Share on other sites More sharing options...
Shad86 Posted March 2, 2017 Author Share Posted March 2, 2017 Ist der Code nicht für die console des Servers? Hab leider sharedhosting und dadurch keine Möglichkeit was das angeht. Okay dann mach ich die alle einzeln. Ist die ID im Grunde egal? Die rufe ich ja nirgends ab oder? Also kann ich einfach etwas vergeben was mir einleuchtend ist? Link to comment Share on other sites More sharing options...
wmunich Posted March 2, 2017 Share Posted March 2, 2017 Oh ja ist für die shell. Hmmm kann natürlich sein das bei 1.7 das so implementiert wurde das der sf cache autom. mitgelöscht wird wenn der ps cache gelöscht wird ... das musst mal probieren. Vielleicht wurde das auch anders automatisiert denn das Thema mit dem shared hosting wird ja mehrere betreffen. Die id ist total egal so lange sie eindeutig ist. Wichtig ist noch die prio wenn Du die Reihenfolge des ladens beeinflussen willst. Link to comment Share on other sites More sharing options...
Shad86 Posted March 2, 2017 Author Share Posted March 2, 2017 Ja werd mich da mal umsehen was den Cache angeht. Alle anderen Dateiänderungen werden aber ohne Probleme sofort umgesetzt. Aber die ganzen Pfade die ich jetzt in der theme.yml habe scheinen Presta nicht wirklich zu interessieren. Kann die nirgends im Quelltext wiederfinden. Das ist etwas zum graue Haare bekommen... Link to comment Share on other sites More sharing options...
wmunich Posted March 2, 2017 Share Posted March 2, 2017 Hab jetzt mal kurz nachgeschaut und sorry um den cache musst dich nicht explizit kümmern das hat PS über den FrontController gelöst. Denk in deiner yml passt noch was nicht ... schau mal hier, schön erklärt > http://developers.prestashop.com/themes/assets/index.html Link to comment Share on other sites More sharing options...
Shad86 Posted March 2, 2017 Author Share Posted March 2, 2017 (edited) Ja das ist tatsächlich ein sehr hilfreicher Link, Danke dir. assets: css: product: - id: fancyboxcss path: fancybox/source/jquery.fancybox.css?v=2.1.5 media: all priority: 100 js: product: - id: mousewheel path: fancybox/lib/jquery.mousewheel-3.0.6.pack.js priority: 70 position: bottom inline: true product: - id: fancybox path: fancybox/source/jquery.fancybox.pack.js?v=2.1.5 priority: 80 position: bottom inline: true product: - id: jquery path: http://code.jquery.com/jquery-latest.min.js priority: 90 position: bottom inline: true product: - id: custom path: fancybox/source/custom.js priority: 200 position: bottom inline: true So sieht es jetzt aus und SOLLTE nach der Anleitung richtig sein. (wenn ich es richtig verstanden habe) Aber immernoch nirgends auch nur ansatzweise was zu sehen. Langsam befürchte ich das es wir mit der neuen override Möglichket ist. Es gibt schon Anleitungen dazu, es funktioniert in 1.7 aber noch nicht... Edited March 2, 2017 by Shad86 (see edit history) Link to comment Share on other sites More sharing options...
wmunich Posted March 2, 2017 Share Posted March 2, 2017 (edited) So ein Mist wobei die yml auf den ersten Blick gut für mich aussieht! Blind ist das immer schwer zu sagen ... hast Du denn die registerJavascript() im controller? Schon mal einen dump drauf gemacht? Ansonsten bin ich grad auch etwas planlos und kann mir auch schwer vorstellen das so eine default funktionalität von sf mit Absicht ausgehebelt wird... Hmm sorry, vielleicht hat ein PS Profi einen besseren Tip für dich... Edited March 2, 2017 by wmunich (see edit history) Link to comment Share on other sites More sharing options...
Shad86 Posted March 2, 2017 Author Share Posted March 2, 2017 Ja das kenn ich, aber ein Link bringt in dem Fall ja auch nichts. Ne bisher habe ich nur die yml hochgeladen. Ich dachte mit dem registerJavascript, brauche ich wenn ich die Scripts in einem Modul registrieren will und das nicht per Theme löse. Puh, ne. Noch nie was mit dump zu tun gehabt. Hast mich aber schonmal wesentlich weiter gebracht. Muss ja in der Richtung funktionieren. Erstmal vielen Dank dafür. Link to comment Share on other sites More sharing options...
Shad86 Posted March 2, 2017 Author Share Posted March 2, 2017 Was ich nicht ganz verstehe, Presta (auch 1.7) nutzt ja die Fancybox. Generell ist mein Button anscheinend schon richtig: http://jsfiddle.net/Bzn99/51/ Aber wieso geht das im Shop nicht? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now