Dans le fichier recaptcha.php du plugin Recaptcha sur Joomla 3.6, j'ai le code suivant:
case '2.0':
$theme = $this->params->get('theme2', 'light');
$file = 'https://www.google.com/recaptcha/api.js?hl=' . JFactory::getLanguage()->getTag() . '&render=explicit';
JHtml::_('script', $file, true, true);
$document->addScriptDeclaration('jQuery(document).ready(function($) {$(window).load(function() {'
. 'grecaptcha.render("' . $id . '", {sitekey: "' . $pubkey . '", theme: "' . $theme . '"});'
. '});});'
);
break;
Qui crée la chaîne:
<script src="https://www.google.com/recaptcha/api.js?hl=en-US&render=explicit" type="text/javascript"></script>
chargement du fichier api.js pour le recaptcha. Depuis que j'utilise Rocket Loader de Cloudflare, j'aimerais changer cela.
<script src="https://www.google.com/recaptcha/api.js?hl=en-US&render=explicit" type="text/javascript"></script>
pour ça
<script data-cfasync="false" src="https://www.google.com/recaptcha/api.js?hl=en-US&render=explicit" type="text/javascript"></script>
où après la
J'ai essayé d'utiliser une variable $ cloud = 'data-cfasync = "false"'; et en changeant JHtml :: ('script', $ fichier, vrai, vrai); en JHtml :: ('script', $ nuage, $ fichier, vrai, vrai); ou j'ai essayé JHtml :: script data-cfasync = "false" ($ file, true, true); ou JHtml :: ('script data-cfasync = "false"', $ fichier, true, true); ou JHtml :: ('script'. 'data-cfasync = "false"', $ file, true, true); Et rien n’a fonctionné ... Je sais que certains sont stupides, mais je ne suis pas un vrai programmeur, comme vous l’avez déjà compris. Comment puis je faire ça? Merci
Depuis Joomla 3.7, les arguments de JHtml
ont été mis à jour tout en maintenant la compatibilité avec les versions antérieures.
Donc plutôt que de passer , true, true
, vous devez passer un tableau d’options, puis un tableau d’attributs, comme ceci:
JHtml::_('script', $file, array('version' => 'auto'), array('data-cfasync' => false));
Vous pouvez consulter le code source ici: https://github.com/joomla/joomla-cms/blob/staging/libraries/src/HTML/HTMLHelper.php#L679
J'espère que cela t'aides
OK, la réponse est venue d'ici https://stackoverflow.com/questions/52953066/i-would-like-to-add-a-string-after-script-at-jhtml-script-file-true- t où j'ai posté la même question. Dans Joomla version 3.4.8 que j'ai sur le site Web, la manière de mettre une chaîne à l'intérieur des balises est la suivante:
$script = '<script src="' . $file . '" data-cfasync="false"></script>';
$document = JFactory::getDocument();
$document->addCustomTag($script);
Je vous remercie beaucoup J'apprécie votre aide Best Regards George