¿se puede llamar a ...
Avisos
Vaciar todo

¿se puede llamar a un componente desde otro?  

 
Carlos
 Carlos
Usuario experto

Saludos amigos mi problema comienza aqui:

http://www.lobuscogratis.com/fotos-y-fondos-de-pantalla/chicas/marisa-miller/marisa-miller-1-499.html

en el default_header.php de joomgallery

me gustaria posicionar dentro de ese archivo otro componente o llamarlo si fuese posible de alguna manera
el componente se llama mod_facebookshare por temas de posicionamiento me gustaria llamar a este componente solo en el detalle de las imagenes ''default_header.php'' de mis galerias ya que en los otros lados no me sirve de nada porque cuando activo el componente mod_facebookshare donde se me activa es en todas las galerias y yo la funcione que me gustaria darle a este componente seria la de compartir las imagenes al detalle

saludos y gracias si alguien puede aportar algo sobre esto

Citar
Respondido : 01/10/2010 5:03 pm
David Noguera
 David Noguera
Miembro Moderator

Por lo que veo lo que quieres hacer es cargar un módulo desde un componente, por que las extensiones que empiezan por mod_xxx son módulos, no componentes.

Para ello, una solución es utilizar el plugin JEZ Module Includer:
http://www.joomlaez.com/joomla-plugins/load-joomla-module-anytime-anywhere.html

Lo instalas y lo publicas y después, en cualquier parte de tu componentes puedes usar el siguiente código:

global $mainframe;
$module = array(
	mod_id,
	mod_chrome,
	mod_suffix
);
$mainframe->triggerEvent('onLoadModule', $module);

Y sustituir los valores mod_id, mod_chrome, mod_suffix.

También puedes usar esta otra sintaxis:

{loadmodule mod_id mod_chrome mod_suffix}

Y al tratarse de un plugin de sistema y no de contenido, puedes usar esta sintaxis en cualquier parte, en la plantilla, en el código de un componente, en un artículo de contenido..

Puedes descargar el plugin desde aquí:

http://www.joomlaez.com/downloads/cat_view/59-joomla-plugins/54-module-loader-joomla-plugin.html

Ya nos dices que tal te ha ido.

ResponderCitar
Respondido : 01/10/2010 5:50 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Carlos
 Carlos
Usuario experto

Gracias David:
la sintaxis de ese texto da mucho la sensacion de que no encaja en default_header.php de joomgallery que es el archivo del componente joomgallery que se ocupa de mostrar las imagenes mas al detalle.

esto seria parte del codigo final de ese archivo

numberofpics); ?>
params->get('show_header_allhits', 0)): ?>

params->get('show_header_allhits', 0)): ?>
numberofhits); ?>

<?php

es php puro y duro por eso comento lo de la sintaxis

de todas maneras mirare de hacer unas cuantos intentos mas y os comento a ver que sale
gracias!

ResponderCitar
Respondido : 01/10/2010 6:09 pm
Carlos
 Carlos
Usuario experto

Bonita cosa me as enseñado david

muchas gracias!!!!

aunque una duda me surje;

http://www.lobuscogratis.com/fotos-y-fondos-de-pantalla/chicas/ninel-conde/ninelconde7-430.html

añado los 2 componentes

triggerEvent('onLoadModule', $module);
?>
triggerEvent('onLoadModule', $module);
?>

exite manera de meter algo de html aqui dentro para alinearlos ?

intente con un pero no e tenido suerte

lo ideal seria que se crease un pequeño espacio entre los 2

ResponderCitar
Respondido : 01/10/2010 6:51 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

David Noguera
 David Noguera
Miembro Moderator

Hola lokoman ,

me alegro de que te haya servido 🙂

Para el tema de dejar espacio, yo lo que haría sería lo siguiente:

triggerEvent('onLoadModule', $module);
?>
triggerEvent('onLoadModule', $module);
?>

Y despues alinear cada módulo usando CSS, algo así:

#modulo1, #modulo2{
margin:0 auto;
}

Por cierto, la sintaxis de "{loadmodule mod_id mod_chrome mod_suffix}" también funcionaría aunque sea un componente y sea código PHP, simplemente tendrías que colocar este texto "{loadmodule mod_id mod_chrome mod_suffix}" sin usar los tags de php () y el plugin se encargaría de sustituir en el buffer de salida todas las ocurrencias de esta cadena por la salida del módulo correspondiente.

A ver que tal..

ResponderCitar
Respondido : 01/10/2010 7:19 pm