2010-01-15 5 views
0

Je suis nouveau à Symfony.accéder aux images

J'ai créé une page de mise en page dans laquelle j'ai ceci:

<img src="images/header.jpg" width="790" height="228" alt="" /> 

mais l'image ne figure pas dans la page lorsque accessible à partir du navigateur.

J'ai mis le fichier header.jpg dans le dossier web/images /. Je pensais pouvoir apprendre Symfony en une semaine tout en travaillant sur un petit projet. c'est possible ?

+2

Le Web est-il la racine du document et les images sont-elles lisibles par le serveur Web? Essayez d'ajouter une barre oblique avant les images, par ex./images – Gordon

+1

Que disent les journaux Firebug et Web? –

+0

Salut Gordon, je l'ai ajouté mais ça ne marchait toujours pas. – Attilah

Répondre

0

Utilisez slash au début comme

<img src="/images/header.jpg" width="790" height="228" alt="" /> 

Vous pouvez également utiliser image_tag (ce qui est mieux pour le routage)

image_tag('/images/header.jpg', array('alt' => __("My image"))) 

Dans le tableau avec les paramètres que vous pouvez ajouter tous les attributs HTML comme la largeur, hauteur, alt etc.

PS Ce n'est pas facile d'apprendre Symfony. Vous avez besoin beaucoup plus de temps

+0

Je pense que Tom l'a ici, essayez-vous d'accéder à l'image à partir d'un contrôleur de développement? Si tel est le cas, et que vos chemins sont définis sur des URL relatives comme celles que vous avez collées ci-dessus, votre navigateur recherche l'image dans /app_dev.php/images/header.jpg. L'ajout de la barre oblique au début du chemin le rend absolu et devrait résoudre votre problème. De plus, vous pouvez utiliser la fonction image_tag sans spécifier/images /, elle est ajoutée par défaut et la fonction s'ajustera automatiquement aux contrôleurs dev: image_tag ('header.jpg', array ('alt' => __ ('Mon image'))) – nortron

0

Si vous ne voulez pas une balise d'image générée entièrement PHP, mais vous voulez juste le bon chemin à votre image, vous pouvez faire:

<img src="<?php echo image_path('header.jpg'); ?>"> width="700" height="228" alt="" /> 

Notez que le chemin passé à image_path exclut la partie/images car elle est automatiquement déterminée et créée pour vous par Symfony, tout ce que vous devez fournir est le chemin vers le fichier par rapport au répertoire de l'image.

Vous pouvez également accéder à votre répertoire d'image un peu en utilisant plus crûment

sfConfig::get('sf_web_dir')."/images/path/to/your/image.jpg" 

Il convient de noter que l'utilisation image_tag a un coût de performance beaucoup plus attaché à lui que l'utilisation image_path comme indiqué sur thirtyseven's blog

Espérons que cela aide :)

Questions connexes