2009-02-23 15 views

Respuesta

5

En drupal, un tema maneja la apariencia del sitio y una plantilla maneja cómo se procesa su contenido.

Piénselo de esta manera: la plantilla se utiliza para representar el contenido, luego el tema se aplica a ese contenido.

Edit: Por lo tanto, sus archivos css viven con el tema en drupal, y no tienen nada que ver con las plantillas.

4

En Drupal, un "tema" es simplemente un tipo especial de complemento que agrupa cualquier cantidad de plantillas (para controlar cómo se procesa una determinada pieza de datos en HTML), CSS, archivos JS, imágenes, etc. .

Por lo tanto, hay una sola "plantilla" para su marcado de página general, una sola "plantilla" de cómo se representa un bloque de barra lateral como HTML, y así sucesivamente. Todos ellos, agrupados y nombrados, se conocen como un tema.

0

Estoy confundido ...

La primera respuesta dice que las plantillas y temas no tienen nada que ver entre sí, mientras que el segundo dice temas son sólo colecciones de respuestas.

¿Cuál es la correcta?

+0

Las respuestas de Eaton y Canen son más precisas, especialmente antes de que BenBruscella editara su respuesta. – FGM

2

Un tema se compone de una colección de archivos de plantilla. block.tpl.php, node.tpl.php, page.tpl.php son todos los archivos de plantilla que, cuando se combinan con tus CSS, JS e imágenes, producen un tema. Además, los temas se pueden heredar. Un tema se puede crear con solo CSS y sin archivos de plantilla adicionales al heredar de un tema existente, en cuyo caso se utilizan los archivos de plantilla del tema principal.

Otra forma de verlo es un tema que es lo que ve y los archivos de plantilla son responsables de generar el marcado.

Espero que esto lo haga un poco más claro.

3

Mírelo de esta manera: es posible crear un tema que no tenga plantillas. Tal tema tendría archivos CSS que anularan los archivos CSS predeterminados de drupal. El uso de dicho tema crearía un sitio web que se parecería casi exactamente al sitio predeterminado de Drupal, excepto que tendría diferentes colores, fuentes, etc.

Pero si desea cambiar las posiciones de los elementos en la página, qué tipos de elementos están en la página, etc., debe sobrescribir las plantillas predeterminadas agregando algunas propias al tema. Estas nuevas plantillas le permiten alterar qué información muestra Drupal y qué tipo de HTML usará Drupal para mostrarla.

Por ejemplo, supongamos que deseo clonar StackOverflow, pero quiero hacerlo con Drupal. Lo primero que haría sería crear un nuevo tipo de contenido (llámelo una "pregunta") que sea como una historia pero tenga campos adicionales para seguir la votación, etc. Las plantillas predeterminadas de Drupal no sabrán sobre estos campos adicionales, por lo que no los mostrarán.

Entonces, lo que hago es entrar en mi tema y añado un nuevo archivo node.tpl.php. Esta nueva plantilla es como la estándar, excepto que puedo agregar un código que dice "si este nodo es de tipo 'pregunta', inserte el dispositivo de votación a la izquierda del cuerpo."

¿Esto ayuda?

0

Drupal es tener un sistema tematización basada en plantillas. Puede definir sus propias regiones en la página y puede organizar el contenido de acuerdo a eso. Hay alguna plantilla por defecto como page.tpl , block.tpl, node.tpl que muestran diferentes tipos de contenido. Puede escribir su propio archivo de plantilla según sea necesario, por ejemplo, si necesita modificar la visualización del formulario de registro de usuario o la página de inicio de sesión, puede crear un archivo tpl para ese y debe redirigir los datos a ese archivo tpl. Puede agregar css o js a estas plantillas usando drupals apis. Esta redirección debe hacerse en el archivo themes.php de themes

0

Un tema se compone de css, js, imágenes y archivos de plantilla. Cada tema puede incluir múltiples archivos de plantilla.

Además, los temas se pueden heredar, y los archivos de plantilla de un subtema pueden anular los archivos de plantilla de su tema principal.

Cuestiones relacionadas