Développement

Quelques notes pour répondre à des problématiques rencontrées au travail.

eZ Publish : équivalent PHP de l’opérateur de template ezurl

En template, on utilise systématiquement l’opérateur ezurl lorsqu’il s’agit de construire des liens sans avoir à se soucier de l’environnement (domaine, protocole, SSL, etc…). Concrètement, il permet de transformer /some/image/file.jpg en http://mydomain.com/some/image/file.jpg.

En template, on ferait simplement :

{def $url = "/some/image/file.jpg"|ezurl('no', 'full')}

Voici son équivalent en PHP :

$url = "/some/image/file.jpg";
$ignoreIndexDir = true; // Depuis la racine du site web ou depuis le répertoire courant
$serverURL = 'full'; // Ou 'relative'
eZURI::transformURI($url, $ignoreIndexDir, $serverURL); // $url est passé par référence
echo $url; // http://mydomain.com/some/image/file.jpg

eZURI se base sur la classe eZSys. Elle fournit de nombreuses informations serveur (document root, protocole, SSL, domaine, chemin du répertoire var, etc…). Vous pouvez l’utiliser via :

$sys = eZSys::instance();

Publié le 03/04/2014
dans la catégorie Développement.
Dernière mise à jour le 10/12/2014.

Tags : ezpublish php

Commentaires

Poster un commentaire

Votre adresse e-mail ne sera pas affichée sur le site.