Modify

Opened 10 years ago

Closed 6 years ago

Last modified 6 years ago

#630 closed Aufgabe (fixed)

jQuery tpl_modified

Reported by: Ronald Parcinski Owned by: Gerhard Waldemair
Priority: hoch Milestone: modified-shop-2.0.5.0
Component: Template Version: 2.0.1.0
Keywords: Cc:
Blocked By: Blocking:

Description

jquery-1.8.3.min.js sollte im Head geladen werden.
Ansonsten können keine jQuery Scripte in den Template Dateien eingebunden werden.
Z.B Attribut Price Updater/Flächenberechner usw.
Diese Scripte sind in der Regel direkt in der Options Templatevorlage eingebunden.

Attachments (0)

Change History (17)

comment:1 by Markus Rehm, 10 years ago

jQuery im Head zu laden ist für Google Page Speed "tödlich"
Javascripte gehören in den Footer. Es muss ja eine Möglichkeit geben das ganze in die "general_bottom.js.php zu verlagern. Mit den Tabs ist das ja auch möglich.

comment:2 by Torsten Riemer, 10 years ago

Das sehe ich genau wie Markus. Das hat im Head nichts zu suchen. Das straft Google direkt ordentlich ab!

comment:3 by voodoopupp, 10 years ago

Da bin ich ebenfalls dageben - wenn irgendwie möglich sollte es dringend vermieden werden!

comment:4 by Torsten Riemer, 10 years ago

Kann das Ticket damit geschlossen werden?

comment:5 by anonymous, 10 years ago

Replying to web28:

[...]
Ansonsten können keine jQuery Scripte in den Template Dateien eingebunden werden.
Z.B Attribut Price Updater/Flächenberechner usw.
Diese Scripte sind in der Regel direkt in der Options Templatevorlage eingebunden.

Da gehören sie aber doch nicht hin.
Wenn die general.js.php in der application_bottom.php eingebunden ist kann man dort alles an JS einbauen was benötigt wird, auch konditional nur für bestimmte Seiten, wie bislang auch.

Zu Testzwecken kann man die jQuery-Basis jederzeit kurzfristig auskommentieren und in die header.php schreiben.

Gruß,
noRiddle

Last edited 10 years ago by Torsten Riemer (previous) (diff)

comment:6 by Ronald Parcinski, 10 years ago

Zitat:
"Da gehören sie aber doch nicht hin.
Wenn die general.js.php in der application_bottom.php eingebunden ist kann man dort alles an JS einbauen was benötigt wird, auch konditional nur für bestimmte Seiten, wie bislang auch."

Da bitte dann ich um einen Vorschlag wie man das für eine bestimmte Artikel und/oder Optionsvorlage machen kann.

Bisher ist das nämlich einfach, die Codes stehen direkt in den Vorlagen oder werden dort includet. Und ein $(document).ready(function() kann man auch nicht benutzen da Jquery noch nicht geladen wurde.

Version 0, edited 10 years ago by Ronald Parcinski (next)

comment:7 by Gerhard Waldemair, 10 years ago

Resolution: fixed
Status: newclosed

ist wieder im head

comment:8 by Gerhard Waldemair, 10 years ago

Owner: set to Gerhard Waldemair

In 9170:

fix #630 - move jquery back to head

comment:9 by Torsten Riemer, 10 years ago

In 9173:

fix #630 - move jquery back to head

comment:10 by Torsten Riemer, 10 years ago

Priority: normalhoch
Resolution: fixed
Status: closedreopened

Ich möchte die Changesets r9170 & r9173 unbedingt wieder revoken!

Das jQuery hat im head absolut nichts zu suchen.

Für die PayPal Payment Wall kann man mit strpos($PHP_SELF, FILENAME_CHECKOUT_PAYMENT) eine Ausnahme definieren, wenn wir es nicht über einen anderen Weg schaffen, dass die PayPal Payment Wall funktioniert.

Wer jQuery in head haben will, der soll sich das dort selber wieder hoch setzen. Sind nur zwei Zeilen, die verschoben werden müssen.

Übrigens funktioniert MODUL: Neuer Attribute Price Updater im Gegensatz zu MODUL: ATTRIBUTE PRICE UPDATER auch völlig problemlos in der "general_bottom.js.php".

comment:11 by Ronald Parcinski, 10 years ago

Man kann in der general-bottom.js folgendes machen, Simulation eines include_once:

<script type="text/javascript">
if (typeof jQuery == 'undefined') {
  document.write('<script src="<?php echo DIR_WS_BASE.DIR_TMPL_JS; ?>jquery-1.8.3.min.js" type="text/javascript"><\/script>');
} 
</script>

Falls man jQuery vorher benötigt kann man es an beliebiger Stelle einbinden und es wird dann in general-bottom.js nicht erneut geladen.

comment:12 by Gerhard Waldemair, 10 years ago

Milestone: modified-shop-2.00modified-shop-2.10
Version: 2.02.10

in reply to:  6 comment:13 by anonymous, 9 years ago

Replying to web28:

Replying to anonymous:

[...]
Da gehören sie aber doch nicht hin.
Wenn die general.js.php in der application_bottom.php eingebunden ist kann man dort alles an JS einbauen was benötigt wird, auch konditional nur für bestimmte Seiten, wie bislang auch.
[...]

Da bitte dann ich um einen Vorschlag wie man das für eine bestimmte Artikel und/oder Optionsvorlage machen kann.

Bisher ist das nämlich einfach, die Codes stehen direkt in den Vorlagen oder werden dort includet. Und ein $(document).ready(function() kann man auch nicht benutzen da Jquery noch nicht geladen wurde.

Das geht ganz einfach indem man im HTML für die Vorlage z.B. eine bestimmte ID an das Elternelementes vergibt und im jQuery mittels .length abfragt ob das Element vorhanden ist und führt nur dann das JS aus.

Gruß,
noRiddle

comment:14 by Torsten Riemer, 8 years ago

Milestone: modified-shop-2.1.0.0

comment:15 by Torsten Riemer, 6 years ago

Milestone: modified-shop-2.0.5.0

comment:16 by Gerhard Waldemair, 6 years ago

Resolution: fixed
Status: reopenedclosed

In 12214:

fix #630 - fix paypal to work with jquery loaded in the footer

comment:17 by Gerhard Waldemair, 6 years ago

In 12216:

fix #630, #997 - load jquery only in general_bottom.js.php

Modify Ticket

Action
as closed The owner will remain Gerhard Waldemair.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.