2012-04-25 16 views
8

Soy un novato en Yii Framework y creo un CRM basado en módulos. Usando diferentes tutoriales, puedo crear mi propio tema, pero ahora estoy sorprendido en un punto.Temas y diseño en yii framework

En mi tema, la parte superior ya la izquierda <nav><nav> sigue siendo la misma lo largo de la aplicación, hasta que el usuario se registra en. Es por eso que lo hice una parte de mi main.php, pero en la página de inicio de sesión no no hay botones para mostrar, solo forma de inicio de sesión con 2 campos de texto.

¿Cómo puedo implementar este formulario en mi aplicación utilizando temas personalizados?

He intentado definir un diseño en esa acción en particular pero no lo he logrado. Cualquier ayuda sería apreciada.

+1

favor Elaborar y mostrar algo de código, podría ser capaz de darle ideas pero no comprender claramente el problema. – ddinchev

+0

Esta pregunta no está relacionada con código como en los diseños de marco yü han sido creados por la estructura de carpetas y de índice de matriz única en el archivo main.php. Simplemente quiero saber que ¿hay alguna forma de utilizar un tema diferente para una sola página? –

Respuesta

13

Usar un diseño personalizado para su vista es el camino correcto a seguir. Puede establecer el diseño en la acción del controlador o en la vista.

$this->layout = "//layouts/mylayout"; 

Tenga en cuenta que los diseños predeterminados column1.php y column2.php también utilizan el main.php archivo diseño.

+0

Ya he probado esto, pero sin suerte .... –

+0

Cuál es su ouput? a) ¿Solo los contenidos "crudos"? -> Archivo de diseño no encontrado. b) ¿No hay cambios visibles? -> El diseño no se aplica. ¿Qué versión de Yii estás usando? – schmunk

+1

, sí, los contenidos se muestran en formato sin formato y tiene razón, el error está en la ruta que he utilizado, en lugar de los diseños. Gracias por tu ayuda. –

7

probar este paso a paso:

  1. Crear nuevo tema

    Puede crear un tema nuevo y añadir al directorio Application_Root/temas.

    Mire el directorio temas/clásico para tener una idea de la estructura del directorio. El archivo importante (en esta etapa) es: - Application_Root/themes/views/layouts/main.php

  2. personalizar sus contenidos temáticos

    Copiar los css, imágenes, archivos JS, etc a la corrija el directorio y cambie el archivo main.php a su gusto. Por ejemplo, si su main.php dice

    < enlace href = "css/miestilo.css" rel = "stylesheet" >

    A continuación, tendrá un archivo Application_Root/css/miestilo.css

  3. Crear el marcador de posición de contenido.

    En algún lugar de su main.php, habrá un marcador de posición para el texto dinámico, que está especificado por.

    <? Php echo $ content; ? >

  4. Indique a yii que utilice el tema. Cambiar el archivo Application_Root /protected/config/main.php añadiendo la siguiente línea justo antes de la última línea (que contiene el corchete de cierre).

    'tema' => 'surveyhub'

  5. Crear los marcadores de posición de diseño.

    Crear un segmento de HTML que será escrito en la parte de los contenidos de $ main.php. Llámalo, por ejemplo, one_column.php. Por lo tanto, la ruta del archivo será Application_Root/themes/views/layouts/one_column.php En ese archivo, donde desea que el texto dinámico para ser colocado, crear un marcador de posición.

    <? Php echo $ content; ? >

  6. Dile a Yu a utilizar el diseño.

    en el archivo Application_Root/protected/componentes/controller.php, añadir o modificar la variable de diseño que diga:

    $ público layout = '// diseños/one_column.php';

  7. actualizar la página