Je suis en train de développer mon premier plugin pour Joomla, c'est juste un simple plugin qui place du javascript juste avant la fermeture du corps. Le javascript fonctionne bien si je le place directement dans le fichier index.php pour le modèle, donc je suis confiant dans le js. Mon plugin cependant jette une erreur
Parse error: syntax error, unexpected 's' (T_STRING) in C:\xampp\blah\blah\plugins\system\reftagger\reftagger.php on line 50
Je pense que cela a à voir avec l’utilisation des guillemets doubles sur la ligne 49 (où elle ajoute le g.src), ce qui jette les choses à l’écart. L'extrait ci-dessous montre le script que je tente d'ajouter, qui inclut les guillemets
$ReftaggerOut = "
<script type='text/javascript'>
var refTagger = {
settings: {
bibleVersion: ".$BibleTranslation."
}
};
(function(d, t) {
var g = d.createElement(t), s = d.getElementsByTagName(t)[0];
g.src = "//api.reftagger.com/v2/RefTagger.js";
s.parentNode.insertBefore(g, s);
}(document, "script"));
</script>
";
J'ai essayé
Ce sont les guillemets doubles dans le script/chaîne. Essaye ça:
<?php
$ReftaggerOut = "
<script type='text/javascript'>
var refTagger = {
settings: {
bibleVersion: ".$BibleTranslation."
}
};
(function(d, t) {
var g = d.createElement(t), s = d.getElementsByTagName(t)[0];
g.src = '//api.reftagger.com/v2/RefTagger.js';
s.parentNode.insertBefore(g, s);
}(document, 'script'));
</script>
";
?>
Ou si vous voulez les guillemets doubles, les échappe comme ceci:
$ReftaggerOut = "
<script type='text/javascript'>
var refTagger = {
settings: {
bibleVersion: ".$BibleTranslation."
}
};
(function(d, t) {
var g = d.createElement(t), s = d.getElementsByTagName(t)[0];
g.src = \"//api.reftagger.com/v2/RefTagger.js\";
s.parentNode.insertBefore(g, s);
}(document, \"script\"));
</script>
";
Je me rends compte que vous avez résolu le problème d'erreur de syntaxe, mais la bonne façon de le résoudre consiste à ne pas insérer le javascript avec PHP de cette façon.
Ce que vous devriez faire, c'est:
1) créez votre fichier javascript dans media/plg_yourplugin/js/your-js-file.js
2) in PHP utilisez l’API de la bibliothèque JHTML pour ajouter le fichier javascript à la zone index.php.
Voici un article de blog de @Michael sur la façon de le faire correctement: http://www.babdev.com/blog/139-use-the-media-folder-allow-overridable-media
Vous avez une erreur d'analyse PHP.
Si votre chaîne commence par "
et se termine par "
. Tous les internes "
doit être \"
.