it-swarm-eu.dev

$ params e $ module rimangono vuoti per i moduli personalizzati

Ho creato un modulo personalizzato mod_helloworld, secondo le istruzioni nella documentazione di Joomla 3. Ho un parametro "lang" nella sezione mod_helloworld.xml config.

Il modulo viene caricato all'interno di un articolo usando {loadmodule mod_helloworld, "mytestmodule"}

Nel mod_helloworld.php Non riesco a ottenere il valore del parametro "lang" usando

$language = $params->get('lang').

Anche var_dump ($ params) e var_dump ($ module) danno risultati piuttosto vuoti.

Sono riuscito a ottenere i risultati usando:

jimport( 'joomla.application.module.helper' );
$module = JModuleHelper::getModule( 'mod_helloworld', 'mytestmodule' );
$params = new JRegistry($module->params); 

Ma non penso che questo dovrebbe essere necessario all'interno del modulo "attuale".

Ho anche provato questo duplicando un modulo joomla standard esistente e cambiando il suo nome. Stesso effetto, anche se l'originale funziona bene.

Se carico il modulo da qualche altra parte su una pagina, come in una posizione di modello, funziona benissimo, ma non quando viene caricato all'interno di un articolo. Tuttavia, i moduli joomla "standard" esistenti funzionano bene anche se caricati all'interno di un articolo.

Cosa c'è che non va qui?

1
Juha Tuunanen

Crea un modulo e imposta la sua posizione su myposition. la posizione può essere qualsiasi valore che non sia in conflitto con una posizione del modello esistente. Digita la posizione myposition e premi invio invece di selezionarlo dall'elenco a discesa.

Assegna il modulo a Tutte le voci di menu. Questo farà in modo che appaia sempre, indipendentemente da come il visitatore è arrivato all'articolo. Il modulo non verrà visualizzato se non si inserisce il comando per caricare il modulo in un articolo.

Modifica gli articoli in cui vuoi che appaia questo modulo e inserisci il testo {loadposition myposition} nell'articolo nel punto in cui desideri che il modulo.

1
NicholasByDesign