Cambios en las rutas de las imágenes al migrar un proyecto normal a una estructura multisite

Aquí os dejamos un truco para recordaros las últimas comprobaciones que debemos hacer cuando migramos un proyecto web a una estructura multisite donde nuestros proyectos comparten temas y módulos diversos.

Normalmente tenemos el fallo en la ruta de las imágenes. La ruta no debe ser absoluta ya que si cambiamos de hosting o de nombre de dominio no funcionarán las imágenes, y por eso debemos utilizar rutas relativas.

Otra técnica está en añadir, mediante PHP, el base_path y así, aunque cambiemos de dominio o de hosting, nunca perdemos la dirección correcta de la imagen.

<?php print base_path() ?>sites/default/files/TU_IMAGEN.jpg

Pues bien, cuando pasemos nuestro proyecto a una estructura multisite también deberemos modificar esto, directamente en la base de datos, y cambiar sites/default/files/TU_IMAGEN.jpg por la estructura final sites/kreanto.com/files/TU_IMAGEN.jpg, y con lo cual quedarán así:

<?php print base_path() ?>sites/kreanto.com/files/TU_IMAGEN.jpg

Esperamos que este artículo os sea de utilidad.
Si queréis criticarnos, mejorar el artículo o aportar vuestras ideas, enviad un comentario desde el formulario de abajo.

¡saludos drupaleros!

Trackback URL for this post:

http://www.kreanto.com/eo/trackback/189

Es muy buena idea. Yo he

Es muy buena idea.

Yo he estado haciendo muchos proyectos donde modificaba a mano las rutas contínuamente o hacía updates directamente contra el mysql-php-admin del hosting, pero es verdad que debemos organizar bien las rutas de los enlaces y así ahorramos tiempo con print base_path()

un saludo,

Toni

Pero donde cambiamo esa ruta

Pero donde cambiamo esa ruta no explicas bien

en cual tabla se modifica si vas a decir algo explicalo bien por facor

Excelente. Para subtemas

Excelente. Para subtemas podríamos extenderlo un poco más:

<img src="<?php print base_path() . path_to_theme(); ?>/imagenes/foto.jpg" />

Explico: primero nos lleva a la raíz de la ruta, luego nos lleva a la raíz de nuestro tema.

(tomado de http://blog.jorgeivanmeza.com/2009/08/como-referenciar-las-imagenes-de-u...)

Yo prefiero tener las imágenes propias de cada tema por aparte, por lo que además hago lo siguiente:

/sites/default/themes/mitema/imagenes/foto.jpg

De esta forma tengo un directorio "imagenes" dentro de "mitema"; por lo que puedo mover el tema de servidor sin necesidad de mover todo el directorio /sites/default/files

Para rematar,
la imagen no la pongo el php, la pongo en el css:

En page.tpl.php (del subtema)

<div class="imagen01"> Texto que se sustituirá por la imagen</div>

en estilos.css

.imagen001 {
   background-image: url("/sites/default/themes/mitema/imagenes/foto.jpg");
   width: 113px;
   height: 179px;
   position: absolute; /* o relative */
   left: 10px;
   bottom: -2px;
   text-indent: -9999px;
   overflow: hidden;
   text-decoration: none;
   }

Espero se entienda!

Afiŝu novan komenton

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

More information about formatting options

CAPTCHA
Ni faras tiun ĉi demandon por scii ke vi estas vera homo kaj ne spam-robot.