Moodle 2.5 .: modificar tema standard

Moodle 2.5 .: modificar tema standard

de Iván Sibillà García -
Número de respuestas: 1

Hola,

me gustaría poder modificar el tema estándar que viene por defecto en la versión 2.5 de moodle, pero me encuentro con la problemática que este no tiene la carpeta 'layout' y en su defecto el documento 'general.php' para poder añadir algun diseño adicional.

Mi pregunta es la siguiente: sabéis cómo confeccionar una configuración base de 'standard' para poder añadir layouts cómo un header o un footer?

Alguna ayuda!?

Gracias por todo.

Promedio de valoraciones: -
En respuesta a Iván Sibillà García

Re: Moodle 2.5 .: modificar tema standard

de Francisco Loachamin Diaz -

Hola, eso se debe a que el tema "standar" toma los "layouts" del tema "base", si quieres modificarlo, debes crear la carpeta "layout", y modificar el archivo "config.php" para hacer que reconozca la nueva carpeta.

A lo mejor te sea mas fácil utilizar uno de los temas que traen por defecto la carpeta layout, si deseas de todas formas modificar el tema "standar" este es el código que yo utilice para agregar la carpeta layout:

 

$THEME->name = 'nombre_del_tema';

$THEME->parents = array(
    'canvas',
    'base',
);

$THEME->sheets = array(
    'nombre_del_tema_estructure',  //este archivo lo agregué para controlar la estructura del tema
    'nombre_del_tema_core',           //todos los otros los renombré agregándoles el nombre del tema
    'nombre_del_tema_admin',
    'nombre_del_tema_blocks',
    'nombre_del_tema_calendar',
    'nombre_del_tema_course',
    'nombre_del_tema_user',
    'nombre_del_tema_dock',
    'nombre_del_tema_grade',
    'nombre_del_tema_message',
    'nombre_del_tema_modules',
    'nombre_del_tema_question',
    'nombre_del_tema_css3'      
);

$THEME->parents_exclude_sheets = array(
        'base'=>array(
            'pagelayout',
        ),
        'canvas'=>array(
            'pagelayout',
        ),
);

//defino las partes del curso
$THEME->layouts = array(
    // Mas diseño compatible sin los bloques - este es el modelo usado por defecto
    'base' => array(
        'file' => 'default.php',
        'regions' => array(),
    ),
    // Diseño estandar con bloques, esta tecnica se recomienda para la mayoria de las paginas con información predeterminada
    'standard' => array(
        'file' => 'default.php',
        'regions' => array('side-pre', 'side-post'),
        'defaultregion' => 'side-pre',
    ),
    // Pagina principal del curso
    'course' => array(
        'file' => 'default.php',
        'regions' => array('side-pre', 'side-post'),
        'defaultregion' => 'side-pre',
        'options' => array('langmenu'=>true),
    ),
    'coursecategory' => array(
        'file' => 'default.php',
        'regions' => array('side-pre', 'side-post'),
        'defaultregion' => 'side-pre',
    ),
    // Parte del curso, tipico de los modulos - diseño de la pagina por defecto si $cm estan especificadas en require_login()
    'incourse' => array(
        'file' => 'default.php',
        'regions' => array('side-pre', 'side-post'),
        'defaultregion' => 'side-pre',
    ),
    // La pagina principal del sitio.
    'frontpage' => array(
        'file' => 'default.php',
        'regions' => array('side-pre', 'side-post'),
        'defaultregion' => 'side-pre',
        'options' => array('langmenu'=>true),
    ),
    // Scripts de administracion del servidor.
    'admin' => array(
        'file' => 'default.php',
        'regions' => array('side-pre'),
        'defaultregion' => 'side-pre',
    ),
    // Mi pagina de panel
    'mydashboard' => array(
        'file' => 'default.php',
        'regions' => array('side-post'),
        'defaultregion' => 'side-post',
        'options' => array('langmenu'=>true),
    ),
    // Mi pagina de publica
    'mypublic' => array(
        'file' => 'default.php',
        'regions' => array('side-pre'),
        'defaultregion' => 'side-pre',
    ),
    'login' => array(
        'file' => 'default.php',
        'regions' => array(),
        'options' => array('langmenu'=>true),
    ),

    // Paginas que aparecen en las ventanas pop-up - sin navegación, sin bloques, sin encabezado.
    'popup' => array(
        'file' => 'default.php',
        'regions' => array(),
        'options' => array('nofooter'=>true, 'nonavbar'=>true, 'nocustommenu'=>true, 'nologininfo'=>true, 'nocourseheaderfooter'=>true),
    ),
    // No hay un minimo de bloques y pie de pagina - son usados ​​solo con antiguos diseños con marcos!
    'frametop' => array(
        'file' => 'default.php',
        'regions' => array(),
        'options' => array('nofooter'=>true, 'nocoursefooter'=>true),
    ),
    // Paginas integradas, como el iframe / object embebido en moodleform - que necesita tanto espacio como sea posible
    'embedded' => array(
        'file' => 'embedded.php',
        'regions' => array()
    ),
    // Se utiliza durante el proceso de actualización o instalacion, muestrael mensaje "Este sitio está en mantenimiento".
    // Esto no debe tener ningun bloque, y es una buena idea si no tiene vínculos con
    // otros lugares - por ejemplo, no debería haber un vínculo HOME en el pie de página ...
    'maintenance' => array(
        'file' => 'default.php',
        'regions' => array(),
        'options' => array('noblocks'=>true, 'nofooter'=>true, 'nonavbar'=>true, 'nocustommenu'=>true, 'nocourseheaderfooter'=>true),
    ),
    // Debe mostrar el contenido y encabezados basicos solamente.
    'print' => array(
        'file' => 'default.php',
        'regions' => array(),
        'options' => array('noblocks'=>true, 'nofooter'=>true, 'nonavbar'=>false, 'nocustommenu'=>true, 'nocourseheaderfooter'=>true),
    ),
    // El pagelayout que utiliza cuando se esta produciendo un cambio de direccion.
    'redirect' => array(
        'file' => 'embedded.php',
        'regions' => array()
    ),
    // El pagelayout usado para reportes.
    'report' => array(
        'file' => 'default.php',
        'regions' => array('side-pre'),
        'defaultregion' => 'side-pre',
    ),
    // El pagelayout usado para navegar seguro (safebrowser y securewindow).
    'secure' => array(
        'file' => 'default.php',
        'regions' => array('side-pre', 'side-post'),
        'defaultregion' => 'side-pre',
        'options' => array('nofooter'=>true, 'nonavbar'=>true, 'nocustommenu'=>true, 'nologinlinks'=>true, 'nocourseheaderfooter'=>true),
    ),
);

$THEME->enable_dock = true;

$THEME->editor_sheets = array('editor');

 

 

Por último cree la carpeta "layout" y agregué los archivos "default.php" y "embedded.php", la estructura de estos archivos la puedes copiar del tema "base".

 

Saludos