it-swarm-es.tech

JModuleHelper :: getModule no devuelve parámetros en joomla 3

Estoy usando un script externo para joomla y necesito obtener los parámetros de un módulo.

En joomla 2.5, el código funcionaba bien, pero en j3 tengo problemas.

el código es:

define( '_JEXEC', 1 );
define('JPATH_BASE', getcwd().'/../../');
require_once ( JPATH_BASE.'includes/defines.php' );
require_once ( JPATH_BASE.'includes/framework.php' );

/* Create the Application */
$app = JFactory::getApplication('site');


jimport( 'joomla.application.module.helper' );
$module = &JModuleHelper::getModule( 'mod_mailformmodule');
var_dump($module);

Y obtengo:

object(stdClass)#43 (8) {
  ["id"]=>
  int(0)
  ["title"]=>
  string(0) ""
  ["module"]=>
  string(18) "mod_mailformmodule"
  ["position"]=>
  string(0) ""
  ["content"]=>
  string(0) ""
  ["showtitle"]=>
  int(0)
  ["control"]=>
  string(0) ""
  ["params"]=>
  string(0) ""
}

Si alguien tiene una idea de por qué el campo "params" es una cadena vacía, se lo agradecería.

Gracias.

2
pcrikos

Es muy probable que su módulo no cumpla con los criterios requeridos. Asegurarse:

  1. Está habilitado.
  2. Se asigna al elemento del menú actual o se asigna a todos los elementos del menú.
  3. El usuario cumple con los requisitos de nivel de acceso.

Acabo de probar lo siguiente:

define( '_JEXEC', 1 );
define('JPATH_BASE', getcwd().'/../../');
require_once ( JPATH_BASE.'includes/defines.php' );
require_once ( JPATH_BASE.'includes/framework.php' );

/* Create the Application */
$app = JFactory::getApplication('site');

jimport( 'joomla.application.module.helper' );
$module = JModuleHelper::getModule( 'mod_login' );

$registry = new JRegistry();
$params = $registry->loadString($module->params);

print_r($params);

Que es un script externo que importa la biblioteca Joomla 3.x y obtiene el objeto del módulo de inicio de sesión. Todo funciona perfectamente bien.

1
Lodder