Posted by lepabloski on August 10, 2010 at 12:40pm
estoy laburando en una pagina de una consultora y la cabecera seguramente va a ser o un slideshow o una cabecera flash, pero como va atener seciones fijas, me gustaria que esas seciones tubieran, diferente cabeceras fijas cada una, saben si es posible hacer esto? en drupal como haria cualquier hijo de vecino en html?
te dejo una captura de diseño, la idea es que las imagenes vayan cambiando en el home, pero en las secciones, lease: Alcances, Quienes somos, Nuestros servicios, sean imagens fijas.
http://img806.imageshack.us/img806/567/homepageclogo.jpg
saludos y espero se pueda hacer.

Comments
image attach
Fijate con image attach que viene con el modulo image, te deberia dejar asociar imagenes a los nodos y los podes mostrar en un bloque (que podes meter en el header)
saludos.
--
Lucas S. Caro
Hola: Puedes crear una página
Hola:
Puedes crear una página única para el front, llamándole page-front.tpl.php y darle un aspecto totalmente personalizado y diferente de las otras.
Puedes también darle un aspecto personalizado a cualquier página usando la id de su nodo o el nombre que tengas en su ruta, por ejemplo
page-node-1.tpl.php
_Saludos
gracias
por ahora esoty usando la opcion que me sugeriste y anda 10 puntos, pero tengo algunos problemas con las paginas que no son front page y varian como las distintas ocurrencias de un tipo de nodo en especifico el cual quiero que tenga un tipo de cabecera especifico, porque una cosa en un nodo solo y otra un grupo de nodos con el mismo tipo. asi que estoy averiguando por eso.
Mil gracias.
Diseñador Web
www.cadapixelcuenta.com.ar
usando la id del nodo
creo que sera esa mi salida, porque las 4 o 5 cabeceras que tiene la pagina son diferentes (al estilo de madonion) y el front page intentaria que fuera en flash, aunque un views slideshow no estaria mal, veremos como hacer. saludos y gracias porresponder..
Diseñador Web
www.cadapixelcuenta.com.ar
También podes usar una simple
También podes usar una simple estrategia en page.tpl:
Si cada página tiene un path diferente, con arg(0) podés asignar una clase CSS al div, y a cada div podés themearlo.
if (arg(0) == 'alcances')
$clase = 'alcances';
if (arg(0) == 'quienes-somos')
$clase == 'quienes-somos';
...
...
<div id="header" class="<?php print $clase ?>">
...
...
</div> // header
Luego en el CSS tenés
.alcances {
background: url(...);
}
.quienes-somos {
background: url(...);
}
si tenes que modificar el markup (no te alcanza con CSS) también podes hacerlo con la misma técnica del arg(0).
HTH, salud
Sigo con las cabeceras
me explayo un poco mas, el tema es asi, tengo un formato para el frontpage, y un formato para las demas paginas, es decir un fondo superios en el body mas ancho y uno mas chico o fino en las demas paginas en tema es que puedo temear (perdon por ese argentinismo) de la forma page-node-1.tpl.php y funciona para esas paginas que no cambian, como son alcances o servicios, es mas en algunas he hecho un pequeño hardcoding con html para no romperme la cabeza con otras cosa, el tema es el siguiente, tengo una vista hecha con views y va a al frontpage dentro de una region de panels, cada vista es un muestreo de nodos llamados noticia, yo quiero que todos los nodos noticia tengan la misma cabecera y si creo otro tipo de datos que tengo que hacer aun, necesito esa coherencia, no voy a ponerme a hacer un tpl.php para cada nodo sino lo hago en html, espero explicarme.
segun he leido, para poder crea templates del modo node-[tipo].tpl.php debo colocar node.tpl.php en mi carpeta del theme, el problema es que no se que hace que coloca todo lo que esta en node.noticia.tpl.php dentro del contenido de node.tpl.php, espero no embaruyar a nadie que se entienda, tiene cabecera y pie como el page.tpl.php , estyo malinterpretando los conceptos?, tengo un pequeño barullom en la cabeza...
Help
Saludos cordiales.
Diseñador Web
www.cadapixelcuenta.com.ar
Mara Mariano garcia sobre arg
entiendo tu idea pero no he logrado nada, explayarte mas sobre donde colocar el
if (arg(0) == 'alcances')
$clase = 'alcances';
if (arg(0) == 'quienes-somos')
$clase == 'quienes-somos';
porque esa opcion me serviria para las cabeceras que no son del front page, ya que la primera es ocupada por un wies-slideshow.
desde ya mil gracias.
Diseñador Web
www.cadapixelcuenta.com.ar
Tu ante-ultimo mensaje no lo
Tu ante-ultimo mensaje no lo llego a seguir. Como el tema tiene su complejidad te sugiero hagas un esfuerzo en la escritura para poder seguirte.
Vuelvo a tu duda original, no es posible que simplemente hasgas esto?:
Saludos.
Sebastián Carvajal
Aclaraando el panorama, espero...
Hola como te va, el tema es asi, estoy diseñando un sitio, mejor dicho pasando a theme un diseño creado antes mediante html, que consta de un front page direrente al resto de las paginas y la diferencia radica en la altura del fondo, a ver, la franja que aparece como fondo del body es mayo es ne fornt que en las demas paginas, en dicho front-page en lugar de cabecera situe un bloque de slide de imagenes (creado con views slide show) ahora bien, las demas paginas se dividen en 2, unas fijas a las cuales puedo realizar un theming particular segun su id, es decir page-node-x.tpl.php, esas paginas no vana variar y con esas tno tengo problemas, es puedo meterm manoa tamplate a mi antojo, el tema es que he creado una vista de tipos de dato noticia que aparecerena lugo como bloque ne el front, hasta ahi no hay problema, lmi pregunta es como creo pagina cuya cabecera sea especifica para un tipo de dato, la idea es hacerlo lo mas ajustado a theming posible, yo entiendo lo que decis pero mi intencion es tratar de laburar lo menos posible con bloques y lo mas con el theme y css.
fijate en el sitio que aun no esta dijfundido pero si accesible
http://www.ecossconsultores.com.ar
diseño del front y otro de una de las paginas particulares, esa es la diferencia en el ancho de la franja. al cual he solucionado ya, usando page.front.tpl.php y para las no front page.tpl.php lo que queda pandeinte es mostrar una cabecera fija para todas las noticias una ves seleccionadas desde la pagina principal.
si haces clisc en alguna de las noticias notaras de lo que hablo.
servicios tiene una pagina especifica para dicho fin por eso muestr la cabecera.
Diseñador Web
www.cadapixelcuenta.com.ar
Cuando hago click en la
Cuando hago click en la noticia que es lo que veo en content? un nodo?
Sebastián Carvajal
claro
en el front , aparece una panel dividido en 3 , en el priemer panel digamoslo asi se muestra una vista que muestra el titulo, ula imagen que acompaña la noticia y el teaser, si haces clic en el titulo o en la imagen te manda al nodo. en este momento le puse una cabecera generia mediante css pero quisiera poder definir por ejemplo algo como page-noticia.tpl.php y de la misma manera dpara cualquier tipo de dato que quiera mostrar en particular.
gracias por el interes
Diseñador Web
www.cadapixelcuenta.com.ar
alcaro
la vista muestra varias noticias, "una vista que muestra el titulo, ula imagen que acompaña la noticia y el teaser, si haces clic en el titulo o en la imagen te manda al nodo." se refiere a una noticvia en particular, el el fron se muestran de a varias noticias.
Diseñador Web
www.cadapixelcuenta.com.ar
Entonces lo que necesitás es
Entonces lo que necesitás es utilizar el TPL correcto.
Ya tenés el de la frontpage ahora te falta el TPL para ese content type específico (noticia).
En esta página http://drupal.org/node/190815 tenes la explicación. Te pego acá lo importante:
node-[type].tpl.php
base template: node.tpl.php
Node content type, e.g., "node-story.tpl.php", "node-blog.tpl.php", etc. Note that in order to override the template for a specific node type, the theme must also implement the base node.tpl.php file. If this file is omitted, the theme will not detect the presence of node-[type].tpl.php files.
O sea que tenes que crear un node.tpl.php y node-noticia.tpl.php (AMBOS).
Suerte.
Sebastián Carvajal
pero eso no seria para el content?
la cabecera no forma parte del content, forma parte de la pagina, esot no tiene que ver con el contenido de ningun nodo, simplemente necesito una pagina para un deterninadao tipo de nodo, el theming del nodo lo hago por otro lado, si lo necesito, por ahora con css venga safando, al no tener calculos de fechas ni nada pareceido no he metido mano a ese nivel.
Diseñador Web
www.cadapixelcuenta.com.ar
Bloques y regiones
Hola, creo que Sebastián te ha dado respuesta gran parte a lo que podría solucionar tu problema, fijate en especial el último link que puso sobre los nombres de los templates.
De todos modos me gustaría agregar que el sistema de temas de drupal define los templates por defecto a ocupar, lo que haces al crear tu tema es empezar a sobreescribirlos, si no defines un template ocupará el por defecto.
De este modo page.tpl.php define el layout general de las páginas, pero page-front.tpl.php solo el de la página de inicio.
Del mismo modo node.tpl.php refenirá el layout, pero solo del contenido del nodo, no la página en general. Asi, node-story.tpl redefinirá como se despliega la información del tipo de contenido story, pero el resto seguirá usando el por defecto. Para las vistas es lo mismo, puedes ver información extra en la página que dejó Sebastián o en la configuración de la vista en Basic settings, Theme te dirá una lista de los temas sobreescribibles, el que estas ocupando saldrá destacado. Para reescribir una vista debes hacerlo igual que con page-front.tpl
Si quieres sobreescribir un tipo especifico de nodo, como es node-story.tpl,php tambien debes poner node.tpl.php en el mismo directorio, no es necesario que el archivo tenga nada, hay que hacerlo por un bug en D6, pero para D7 ya está corregido.
Sobre el tema inicial de las cabeceras, creo que lo más fácil es ponerlo con bloques y regiones. De este modo defines la región (si es que no existe una que te pueda servir en el temas que estas usando como base) en page.tpl.php y luego asignas el bloque de la cabecera a esa región. De este modo deberias creear un bloque por cabecera distinta y asignarlos todos a la región designada a la cabecera.
Posteriormente en la configuración de cada bloque, defines por url cuando cuando cada bloque debe aparecer.
De este modo por ejemplo, para la cabecera destinada a "Servicios" la configuracion del bloque sería:
Mostrar el bloque en páginas específicas:[x]Mostrar el bloque en páginas específicas:
Y agregas algo como lo siguente:
tusitio.com/servicios (para el indice/vista)
tusitio.com/servicios/* (para los nodos)
Con esta solucion debes especificar anteriormente la ruta en que se crearan los nodos en tusitio.com/admin/build/path/pathauto (suponiendo que pathauto está instalado)
Espero que te sea útil mi respuesta, saludos.
gracias a todos
urgando en el sitios de drupal "got drupal" hay un video muy interesante y explica como hacer esto que queria, una template pagina para cada tipo de contenido y que drupal lo detecte de forma dinamica,
el codigo es el siguiente
<?php
/**
* Adding or modifying variables before page render.
*/
function phptemplate_preprocess_page(&$vars) {
// Page change based on node->type //cambio en las paginas segun el tipo de nodo
// Add a new page-TYPE template to the list of templates used // sumamos un nuevo tipo de pagina con al forma page-TIPO
if (isset($vars['node'])) {
// Add template naming suggestion. It should alway use hyphens. //agregamos una sugerencia de nombre de plantilla , simpre debemos usar guiones.
$vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type);
}
}
?>
ahi una traduccion burda
se coloca en un archivo template.php que debemos colocar en la carpeta del thmem, es basicamente una funcion de preprocesamiento,
el hook referiere especificamente a paginas y lo que hace basicamente es incluir en el registro de nombres de templates posibles, un a posibilicada del tipo page-[tipo de dato].tpl.php
lo acavo de probar y funciona a la perfeccion. para mas detalles sumerganse en el video, lo unico es que esta en ingles.
saludos y espero les sirba por si les ocurre lo que a mi.
Diseñador Web
www.cadapixelcuenta.com.ar
aclaracion
toda esta gerga le estoy aprendiendo recien ahora, no soty experto eso si soy cabeza dura y hasta que no encuentro lo que busco no me detengo, jiji, saludos.
Diseñador Web
www.cadapixelcuenta.com.ar
Si, en el apuro no me di
Si, en el apuro no me di cuenta el node tpl no sirve para el caso que tenés.
El que encontraste es un modo, el que planteó Mariano de leer los args es otro y el de los blockes que pone Beto otro más.
Suerte.
Sebastián Carvajal
contextos
@lepablosk prueba el modulo de contextos
http://drupal.org/project/context
puede crear bloques y regiones y en base al url que al parecer es tu caso puedes decidir q regiones y bloques mostrar y/o ocultar
Jesus Manuel Olivas
--
http://jmolivas.com/
@jmolivas