Adapter son code pour la 2.24 n° 3

On continue cette fois avec la variable $_ctx (ou son équivalent $GLOBALS['_ctx']) qui est à remplacer par dcCore::app()->ctx, partout dans votre code, y compris dans celui qui génère du code PHP pour les balises template.

Exemple pris dans le code d’une des balises du thème Ductile1.

Avant :

return '<?php if (strlen(' . sprintf($full, '$_ctx->posts->getContent(' . $urls . ')') . ') > ' .
        'strlen(' . sprintf($short, '$_ctx->posts->getContent(' . $urls . ')') . ')) : ?>' .
        $content .
        '<?php endif; ?>';

Après :

return '<?php if (strlen(' . sprintf($full, 'dcCore::app()->ctx->posts->getContent(' . $urls . ')') . ') > ' .
        'strlen(' . sprintf($short, 'dcCore::app()->ctx->posts->getContent(' . $urls . ')') . ')) : ?>' .
        $content .
        '<?php endif; ?>';

L’expression régulière de recherche à utiliser étant :

((\\*?)\$_ctx|\$GLOBALS\['_ctx'\])

Si vous n’aimez pas les expressions régulières, alors cherchez ceci :

$GLOBALS['_ctx']
$_ctx
\$GLOBALS['_ctx']
\$_ctx

Et à remplacer par :

dcCore::app()->ctx

Par ailleurs n’oubliez pas de supprimer les lignes contenant :

global $_ctx;

Elles ne serviront plus.


Comme pour la variable $core (voir à ce sujet le billet précédent), vous pouvez ne toucher à rien pour l’instant, la variable globale étant toujours déclarée.

Notez qu’elle sera supprimée dans le futur, donc tant que vous y êtes, sautez le pas ;-)


  1. Les plugins et thèmes de la version 2.23 ont déjà été modifiés en conséquence, vous pouvez un œil à leur code si nécessaire. ↩︎

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/15505

Haut de page