Parche para permitir que los bloques de Moodle puedan moverse al centro.

Parche para permitir que los bloques de Moodle puedan moverse al centro.

de Alfredo Artiles -
Número de respuestas: 2
Hola a todos, ya hece unos días hice este mismo post en los foros en inglés.
Este es un parche muy sencillo para permitir que los bloques de Moodle puedan ponerse en la columna central.

IMPORTANTE: este parche es para  la versión 1.7 dev, y nos gustaría que fuera incluido en el próximo release. Si lo van a probar realicen una copia de seguridad de los 3 archivos que se han modificado y se detallan más abajo.

Con esta modificación si un bloque esta en la posición derecha y es movido a la izquierda este pasará al centro y si se vuelve a mover a la izquierda entonces quedará en la columna izquierda.
Center Blocks
Installación:
    1/Actualizar to Moodle a 1.7 dev o superior
    2/Mezclar los archivos listados abajo


CVS para esta modificación: moodle.cvs.sourceforge.net/moodle/contrib/center_blocks_position_patch/

Ya lo he enviado al Moodle Tracker, por si desean votar por esta modificación o darle seguimiento:
http://tracker.moodle.org/browse/MDL-6748

NOTA: Todos los cambios están comentados en la forma: //aartiles: comment
Archivos modificados:

 - /index.php
/// aartiles: Added a center blocks position
    if (blocks_have_content($pageblocks, BLOCK_POS_CENTER) || $editing) {
        blocks_print_group($PAGE, $pageblocks, BLOCK_POS_CENTER);
    }

 - /lib/blocklib.php
 //aartiles: New block position BLOCK_POS_CENTER
define('BLOCK_POS_CENTER', 'c');

 - /lib/pagelib.php
    //aartiles: Added new block position BLOCK_POS_CENTER
    function blocks_get_positions() {
        return array(BLOCK_POS_LEFT, BLOCK_POS_RIGHT, BLOCK_POS_CENTER);
    }

    //aartiles: Changes done for complain with a center blocks position
    function blocks_move_position(&$instance, $move) {
        if($instance->position == BLOCK_POS_LEFT && $move == BLOCK_MOVE_RIGHT) {
            return BLOCK_POS_CENTER;
        } else if($instance->position == BLOCK_POS_CENTER && $move == BLOCK_MOVE_RIGHT) {
            return BLOCK_POS_RIGHT;
        } else if ($instance->position == BLOCK_POS_CENTER && $move == BLOCK_MOVE_LEFT) {
            return BLOCK_POS_LEFT;
        } else if ($instance->position == BLOCK_POS_RIGHT && $move == BLOCK_MOVE_LEFT) {
            return BLOCK_POS_CENTER;
        }
        return $instance->position;
    }
  
Para cada archivo format.php en los formatos de cursos habría que hacer una modificación similar.
Espero que les interece.
Alfredo
 
Promedio de valoraciones: -
En respuesta a Alfredo Artiles

Re: Parche para permitir que los bloques de Moodle puedan moverse al centro.

de Manuel Bona Perez -
He instalado este parche en la versión 1.9 y funciona correctamente, pero no dentro de los cursos, cunando intentas pasar el modulo de la derecha al centro o la izquierda se pierde el modulo.

Como puedo solucionarlo?

Un saludo
En respuesta a Manuel Bona Perez

Re: Parche para permitir que los bloques de Moodle puedan moverse al centro.

de omar rodriguez -

Hola:

Es la primera vez que escribo algo, necesitas actualizar todos los archivos format.php que se encuentran dentro del árbol de directorios moodle/course/........

En cada uno de los directorios listado, está un archivo format.php que corresponde a cada uno de los tipos de curso (semanar, temas etc), modifícalo y funciona el cenrar para todos los cursos

Saludos desde Uruapan Michoacán México