DATO IMPORTANTE:
***Puedes utilizar el archivo ../portal/modules/portal_default.php como base de ejemplo, haciendo una copia de éste.
Ejemplo:
****Quiero crear un bloque nuevo llamado "Gallery Block", modificando el archivo "Default"
PASO 1: Cambiar el nuevo nombre, tendras que colocarlo en vez de "Default"...
Abrir ../portal/modules/portal_default.php
Buscar:
Código: Seleccionar todo
/**
*
* @package Board3 Portal v2 - Default
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
Código: Seleccionar todo
* @package Board3 Portal v2 - Default
Código: Seleccionar todo
* @package Board3 Portal v2 - Gallery Block
pero no se debe quitar el derecho de autor Board3.
****También se puede simplemente dejar Board3 v2 Portal, en la cabecera.
PASO 2: Cambiar nombre del módulo y class
a. Cambiar nombre del módulo
Buscar:
Código: Seleccionar todo
/**
* @package Modulname
*/
Código: Seleccionar todo
/**
* @package Gallery Block
*/
Si el nombre del archivo es portal_gallery.php, debe ser portal_gallery_module así:
class portal_gallery_module
PASO 3:
Después tienes que elegir las columnas donde puedes instalar y/o mover el módulo en el portal:
Buscar:
Código: Seleccionar todo
/**
* Allowed columns: Just sum up your options (Exp: left + right = 10)
* top 1
* left 2
* center 4
* right 8
* bottom 16
*/
var $columns = 31;
El 31 significa que el modulo puede estar en cualquier lugar del portal, -arriba, izquierda, centro, derecha, abajo, (top, left, center, right, bottom), a cada lugar se le identifica con un número.
Por lo tanto, si en el ejemplo, tiene 31 es la sumatoria de todos los lados en el portal, significa que éste bloque podrá estar en cualquier lugar.
Las dos opciones más utilizadas son:
10 --> Laterales. (sumatoria de left y right)
21 --> Arriba, centro, abajo. (sumatoria de top, center y bottom)
PASO 4: Establecer la variable de idioma del título del módulo.
Esta variable del lenguaje tiene que ser definido en el archivo de idioma de su bloque.
Código: Seleccionar todo
/**
* Default modulename
*/
var $name = 'PORTAL_GALLERY';
Debes subir en la ruta que se muestra abajo, la imagen con el nombre que se muestra acá (portal_galley.png)
Código: Seleccionar todo
/**
* Default module-image:
* file must be in "{T_THEME_PATH}/images/portal/"
*/
var $image_src = 'portal_gallery.png';
Código: Seleccionar todo
/**
* module-language file
* file must be in "language/{$user->lang}/mods/portal/"
*/
var $language = 'portal_gallery_module';
PASO 7: Si deseas utilizar un archivo personalizado en el ACP, puedes definirlo aquí:
Código: Seleccionar todo
/**
* custom acp template
* file must be in "adm/style/portal/"
*/
var $custom_acp_tpl = '';
PASO 8: Si tu Titulo de Block necesitas cambiarlo en el ACP o el Portal en función de la configuración del ACP,
o simplemente no quieres cambiar el título del módulo, siempre se puede forzar
esto poniendo el interruptor en true:
Código: Seleccionar todo
/**
* hide module name in ACP configuration page
*/
public $hide_name = false;
OJO: Para los que desean cambiar un módulo de lugar, ésto es importante.
a. Función get_template_center define el código PHP para las columnas de la parte superior, central e inferior.
b. Función get_template_side define el código PHP de las columnas laterales.
Al final de la función, siempre devuelve el archivo de plantilla que debe ser cargado,
return 'modulename_center.html';
y si no devuelve nada, el bloque no se muestra, en otras palabras, no hay nada para mostrar.Con
get_template_acp function ()
se pueden definir las opciones en el ACP:Código: Seleccionar todo
function get_template_acp($module_id)
{
return array(
'title' => 'ACP_PORTAL_BOTS_SETTINGS',
'vars' => array(
'legend1' => 'ACP_PORTAL_BOTS_SETTINGS',
'board3_last_visited_bots_number_' . $module_id => array('lang' => 'PORTAL_LAST_VISITED_BOTS_NUMBER' , 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
)
);
}
1. La instalación de la función siempre se ejecuta cuando se agrega el módulo.
Con esto puedes agregar es decir, las variables de configuración.
Asegúrate de que sus variables de configuración siempre empiezan con un "board3_ , que son únicos:
Código: Seleccionar todo
function install($module_id)
{
set_config('board3_last_visited_bots_number_' . $module_id, 1);
return true;
}
2. Desinstalar la función, se ejecutará en la desinstalación del módulo.
Asegúrate de quitar todo lo que se ha añadido al instalar la función ().
Código: Seleccionar todo
function uninstall($module_id)
{
global $db;
$del_config = array(
'board3_last_visited_bots_number_' . $module_id,
);
$sql = 'DELETE FROM ' . CONFIG_TABLE . '
WHERE ' . $db->sql_in_set('config_name', $del_config);
return $db->sql_query($sql);
}
Fuente: http://www.board3.de/knowledge/kb_show.php?id=54