Le problème a déjà été référencé pour Gally [Bugtracker] ticket 1307.
C'est juste que, pour l'instant, me suis pas encore décidé à résoudre le problème. Pour ma part, je considère que faire cohabiter plusieurs framework ensemble çà n'est pas forcément une bonne idée... je reconnais par contre que çà peut être néanmoins pratique, certaines fonctionnalités n'étant servies qu'au travers de frameworks autres que jQuery...
Merci encore pour tes réponses et le temps passé.
Je commence a y voir un peu plus clair.
:-)
Par exemple:
add_event_handler('loc_after_page_header', 'cljosse_handler');
function cljosse_handler() {
global $template;
$template->set_filenames(array('cljosse' => '......../..../cljosse.tpl'));
$template->parse('cljosse');
}
Tu deviens indépendant de l'existant (dont des template-extensions) et tu génères bien tout ce que tu veux générer en plus dans les pages.
Merci.
Le problème c'est ou je met ce bout de code?
Si je le met dans le fichier picture_map_content.tpl c'est ok.
mais cela me force à modifier les fichers de rv_maps.
D'ou ma question existe t il un template par défaut systématiquement chargé s'il est présent?
On ne va pas réécrire ni l'un ni l'autre.
Dans rv_maps on laisse l'appel en $(
Maintenant, toi tu as besoin en jQuery de coder:
element = $(element)[0];
mais comme le script est commun...
element = jquery(element)[0];
Pour comprendre: http://docs.jquery.com/Using_jQuery_wit … _Libraries
Pour cela, l'inclusion de jquery doit être modifiée...
{known_script id="jquery" src=$ROOT_URL|@cat:"template-common/lib/jquery.packed.js"}
{html_head}
{literal}
<script type="text/javascript">
jQuery.noConflict();
</script>
{known_script id="jquery.ui" src=$ROOT_URL|@cat:"template-common/lib/ui/ui.core.packed.js"}
{/literal}
{/html_head}
{known_script id="gally" src=$ROOT_URL|@cat:".........."}
Je n'ai pas testé mais cela doit fonctionner.
Ajout de {html_head}
Gally utilise
{known_script id="jquery" src=$ROOT_URL|cat:"template-common/lib/jquery.packed.js"}
rv_maps utilise protype.js
les deux sript utilise $();
Exemple dans rv_maps on utilise la fonction suivante:
function observe(element, eventName, handler) {
element = $(element);
pour que la fonction fonctionne avec jquery.packed.js il faut que j'ecrive :
element = $(element)[0];
La structure retournée jquery.packed.js et protype.js
étant différente.
Mon proplème est comment faire pour assurer la compatibilité entre les deux script sans avoir à modifier les fichiers tpl de gally ni de rv_maps.
Existe il une solution? ou est ce la quadrature du cercle?
Je n'ai pas regardé en détail mais qui fait du jQuery?
prototype.js de rv_maps
ou Gally?
Oui je vois bien ce que je peux faire mais dans ce cas il faut que je modifie le programme de prototype.js de rv_maps ?
repie38 a écrit:
pour info : http://fr.piwigo.org/forum/viewtopic.ph … 70#p125070
jQuery dispose d'un mode anti incompatibilité efficace lorsque on a sur le meme site plusieurs framework js.
(a mettre en place en dernier, c'est assez simple)
Ensuite il faut écrire jquery(... au lieu de $(....
noConflict
Bonjour.
Voulant utilisé rv_Maps dans un style Gally je me trouve confronté au problème dèjà bien connu de la compatibilité des fonctions javascript
Dans le cas evoqué c'est bien sur la fonction element = $(element); qui pose problème, étant déclaré dans jquery.js et dans protoype.js de rvelices
Existe il une solution simple pour contourner ce problème?
A+