Jump to content

Recommended Posts

Hola, actualmente en mi plantilla cuento con un módulo "Categorías" en la columna izquierda, que cuenta con subcategorias desplegables.

Me gustaría "clonar" ese módulo, necesito un módulo que me de al menos esa funcionalidad, y quizá también me interese que ese menú tuviera una pantalla principal, cosa que actualmente "Categorias" no tiene (no es clickable, vas directo a la subcategoria que te interese).

No se muy bien como hacer ésto.

 

Gracias y un saludo.

Link to comment
Share on other sites

Cambiando los nombres de archivos como he leido por el foro me encuentro este error:

 

Parse error: syntax error, unexpected T_STRING, expecting '(' in /......./classes/Module.php(551) : eval()'d code on line 252

Link to comment
Share on other sites

De hecho acabo de probar a añadir un modulo ya creado y me aparece error también en ese archivo, el cual no he tocado:

 

Parse error: syntax error, unexpected '?' in /....../classes/Module.php(551) : eval()'d code on line 1

 

 

El modulo lo he encontrado aquí:

 

http://www.prestashop.com/forums/index.php?/topic/8272-drop-down-categories-menu-for-frontpage/page__view__findpost__p__148731

Link to comment
Share on other sites

Cambiando los nombres de archivos como he leido por el foro me encuentro este error:

 

Parse error: syntax error, unexpected T_STRING, expecting '(' in /......./classes/Module.php(551) : eval()'d code on line 252

 

La linea del error del módulo clonado está en la siguiente función:

 

public function registerHook($hook_name)

{

if (!Validate::isHookName($hook_name))

die(Tools::displayError());

if (!isset($this->id) OR !is_numeric($this->id))

return false;

 

// Check if already register

$result = Db::getInstance()->getRow('

SELECT hm.`id_module` FROM `'._DB_PREFIX_.'hook_module` hm, `'._DB_PREFIX_.'hook` h

WHERE hm.`id_module` = '.(int)($this->id).'

AND h.`name` = \''.pSQL($hook_name).'\'

AND h.`id_hook` = hm.`id_hook`');

if ($result)

return true;

 

// Get hook id

$result = Db::getInstance()->getRow('

SELECT `id_hook`

FROM `'._DB_PREFIX_.'hook`

WHERE `name` = \''.pSQL($hook_name).'\'');

if (!isset($result['id_hook']))

return false;

 

// Get module position in hook

$result2 = Db::getInstance()->getRow('

SELECT MAX(`position`) AS position

FROM `'._DB_PREFIX_.'hook_module`

WHERE `id_hook` = '.(int)($result['id_hook']));

if (!$result2)

return false;

 

// Register module in hook

$return = Db::getInstance()->Execute('

INSERT INTO `'._DB_PREFIX_.'hook_module` (`id_module`, `id_hook`, `position`)

VALUES ('.(int)($this->id).', '.(int)($result['id_hook']).', '.(int)($result2['position'] + 1).')');

 

$this->cleanPositions((int)($result['id_hook']));

 

return $return;

}

 

Es en el return true.

Link to comment
Share on other sites

Corrigiendo un error sintactico en el Controller del nuevo modulo ha dejado de aparecer el mensaje con los dos errores descritos anteriormente, aunque sigue saliendo el letrero rosa que dice "Error de interpretación en modulo(s)" y sigue apareciendo el nombre de ambos módulos en él.

 

Siento que es un avance, pero ya no tengo info de donde puede estar fallando. Añadí el nombre del modulo al listado de modules_list.xml, que tampoco estaba...

 

Dadme ideas! :P

 

Al haberlos subido desde el panel de admin, los permisos son 755 mientras que el resto tienen 777, aunque no creo que influya mucho en este caso. Al menos se deberían visualizar. Por cierto, gracias a ésto, no puedo borrarlos desde el FTP ni cambiarles los permisos, si me echais un cable con ésto también os lo agradecería :)

Edited by Spree (see edit history)
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...