pragmaMx Support Forum

pragmaMx => Coder und Bastlerecke => Thema gestartet von: xmjay in 06 Juni 2010, 21:05:32

Titel: jQuery & Co. in bestimmten Modul einbinden
Beitrag von: xmjay in 06 Juni 2010, 21:05:32
Hallo  :)

In welche pMx-Datei gehören diese Codezeilen hinein, um z.B. in der Enzyklopädie "prettyPhoto" nutzen zu können?


<link rel="stylesheet" type="text/css" href="layout/style/prettyPhoto.css" media="screen" title="prettyPhoto stylesheet" charset="utf-8" />
<script type="text/javascript" src="includes/javascript/jquery/jquery.js" charset="ISO-8859-1"></script>
<script type="text/javascript" src="includes/javascript/jquery/jquery.prettyPhoto.js" charset="ISO-8859-1"></script>


Wenn dieser Code im Theme ist, funktioniert prettyPhoto zwar, dafür laufen andere Dinge nicht wie gewünscht. 
Hat jemand einen Tipp ?
Titel: Re: jQuery & Co. in bestimmten Modul einbinden
Beitrag von: Andi in 07 Juni 2010, 20:08:08
Moin :)

am besten nirgends....

Sondern so:<?php

pmxHeader
::add_style('layout/style/prettyPhoto.css');
pmxHeader::add_script('includes/javascript/jquery/jquery.js');
pmxHeader::add_script('includes/javascript/jquery/jquery.prettyPhoto.js');

?>



Das stellt sicher, dass die jeweiligen Dateien immer nur höchstens einmal geladen werden (sofern sie mit dem gleichen Pfad angegeben sind).
Diese Codezeilen, in das passende PHP-Script wo es benötigt wird, oder global in die myheader.php...

In der 1.12, welche du als Betatester ja schon hast, wurde das einbinden von jQuery Scripten noch einfacher:
<?php

pmxHeader
::add_style('layout/style/prettyPhoto.css');
pmxHeader::add_jquery('jquery.prettyPhoto.js');

?>



Die neue Funktion add_jquery() bindet automatisch die jquery-Bibliothek ein, wenn sie noch nicht eingebunden wurde und alle Dateien die als Parameter übergeben werden, die dann im jQuery-Ordner liegen müssen.


Bei beiden Methoden, sieht der erzeugte HTML-Quelltext genau so aus, wie die drei Zeilen von dir ;)
Titel: Re: jQuery & Co. in bestimmten Modul einbinden
Beitrag von: xmjay in 07 Juni 2010, 20:50:19
Holla Andi !

Danke für den Code  :smile: und die Info zum einfacheren einbinden von jQuery Scripten.
Funzt prima.
Titel: Re: jQuery & Co. in bestimmten Modul einbinden
Beitrag von: Andi in 07 Juni 2010, 21:21:47
garnich dran gedacht....  :BD:

In der 1.12 gibt es sogar ne eigene Funktion für prettyPhoto:

<?php

pmxHeader
::add_lightbox();

?>


Macht genau das wie oben beschrieben in einer Zeile.
Zusätzlich wird prettyPhoto gleich mit bestimmten Standardwerten gestartet. Hier wird sogar das prettyPhoto Plugin von terraproject beachtet und (falls vorhanden) dessen Konfiguration übernommen. Den Konfigurationsteil des plugins übernehmen wir evtl. noch ganz ins System....
Titel: Re: jQuery & Co. in bestimmten Modul einbinden
Beitrag von: xmjay in 08 Juni 2010, 12:08:28
Hi Andi !

Klingt super, werd ich antesten  :)
Titel: Re: jQuery &amp;amp; Co. in bestimmten Modul einbinden
Beitrag von: xmjay in 08 Juni 2010, 20:15:29
Hallo Andi !


Habe diesen Code in die Datei "my_header.php" in Zeile 26 eingefügt (vorigen Code gelöscht und vorsichtshalber Cache geleert)

<?php

pmxHeader
::add_lightbox();

?>



Im Seitenquelltext wird der Code angezeigt, prettyPhoto-Style wird nicht aufgerufen.
Die Seite in verschiedene Themes und Browser aufgerufen, vermutlich hab ich den Code an die falsche Stelle gesetzt.

Wäre mir lieb, wenn Du Dir das anschauen würdest.
Den Link sende ich per PM, ist ein zeitlich begrenzter Testaccount.
Titel: Re: jQuery &amp;amp; Co. in bestimmten Modul einbinden
Beitrag von: Franky in 09 Juni 2010, 11:42:26
Ähem, in der 1.12 steht das doch standardmäßig so drin:

pmxHeader::add_style(PMX_LAYOUT_PATH . 'style/prettyPhoto.css', 'screen');
pmxHeader::add_jquery('jquery.prettyPhoto.js');


Von pmxHeader::add_lightbox(); steht bei mir gar nix......?!?¿

@Andi Oder wo hast du das versteckt? Steh ich grad aufm Schlauch?

ciao...