Como agregar un estilo personalizado (mi estilo.css) a un tema

Hola a todos, estoy tratando de que mi sito web, muestre una imagen en la página principal y otra imagen distinta en las demas páginas, esta imagen se encuentra especificada en el archivo style.css, de esta manera:

body {
background-image: url(images/header.jpg);
background-repeat: no-repeat;
background-position: 50% 0%;
}

Estoy modificando el archivo del tema (page.tpl.php), para que cuando se trata de la pagina principal me muestre una imagen y cuando no lo sea me muestre otra, estoy utilizando la siguiente condicional.

<?php if($is_front) {?>

<?php } else { ?>

<?php } ?>

Deseo agregar un archivo mi_archivo_en_caso_de_principal.css en caso de que sea la pagina principal y mi_archivo_en_caso_de_contenido.css en caso de que sea otra pagina.

O en todo caso cargar uno u otro archivo en lugar del archivo style.css, segun cumpla la condicion de que sea la pagina principal o no.

Sls

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

tal vez esto no sea la mejor

tal vez esto no sea la mejor opción ya que estas cargando dos archivos css y podría tener alguna repercusión en el desempeño del sitio (no gran cosa tal vez).. tal vez lo más correcto es especificar algo parecido utilizando clasess en el body por ejemplo

<body <?php if($is_front) {?>class="frontpage"<?php } else { ?>class="notfrontpage"><?php } ?>>

y ya en el css especificas las diferencias para ambos

Saludos

Luis
http://www.asimonterrey.com.mx

Bueno, después de tanto

Bueno, después de tanto batallar (es que soy relativamente nuevo en drupa y en PHP), conseguir hacer que mi sitio web, eliga un tipo diferente de estilo, dependiendo de la pagina que se muestra.

El código que agregé al archivo page.tpl.php es el siguiente:

<?php if($is_front) {?>
<?php print "<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"themes/garland/stylep.css\" />";?>
<?php } else { ?>
<?php print "<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"themes/garland/stylec.css\" />";?>
<?php } ?>

Gracias Luis por interesarte en el tema.

Sls.

Luis he leído tu pagina web

Luis he leído tu pagina web donde explicas algo como eso, quise aplicar tus ejemplos pero no conseguí resultados, en resumen lo que deseo es que mi sitio web, en la pagina principal muestre una imagen de fondo y en las demás paginas una imagen diferente, ya que mi tema muestra la misma imagen en todas las páginas, como mencione anteriormente, la ubicacion de la imagen se encuentra especificada en el archivo style.css del tema.

Sugerencia

Hay varias formas de lograr lo que deseas. Una de ellas es poder armar un "page" diferente para la página principal (con ello por ejemplo le podes poner un id/class diferente al contenedor/contenedores como para lograr un fondo diferente).
La forma de hacerlo es crear dos .tpl, uno para el front page:
page-front.tpl.php
y el otro para el resto de las páginas
page.tpl.php

En page-front.tpl.php podes poner un id al body del tipo:

<body class="body-home">
<!-- O poner clases diferentes !-->
<div class="wrapper-home"></div>
</body>

Es importante que sigas poniendo la variable $styles dentro del theme ya que de otra forma los módulos drupal no podrán añadir algún css necesario.
En todo caso tal vez sería bueno (si queres incluir otro css solo en la home) hacerlo de la siguiente manera:

<?php if (drupal_is_frontpage()): ?> // no se si es asi la función
<style type="text/css" media="all">@import "<?php print base_path() . path_to_theme() ?>/style-home.css";</style>
<?php endif; ?>

Asi podrás tener un css con el estilo general y un css con el estilo para la home.

Saludos

www.drupalargentina.com.ar
>>.<<

no entendí cual es tu

no entendí cual es tu duda..

Saludos

Luis
http://www.asimonterrey.com.mx