it-swarm.dev

Modulo di visualizzazione in più posizioni

È possibile visualizzare un modulo in più posizioni, preferibilmente in modo nativo o tramite un'estensione di terze parti?

So che ci sono soluzioni alternative ...

  • clonare il modulo e cambiare la posizione, tuttavia questo è noioso se il modulo contiene, diciamo, HTML personalizzato e questo probabilmente cambierà spesso.
  • usa la sintassi load per rilasciare il modulo dove vuoi, ma risulta comunque che i moduli vengano creati semplicemente per contenere altri moduli

ma entrambi creano lavori di manutenzione extra che preferirei rinunciare.

8
codinghands

È possibile utilizzare moduli nonumbers ovunque.

http://www.nonumber.nl/extensions/modulesanywhere/userguide

A differenza della versione di loadposition presente nel core, può essere utilizzata anche in un modulo e non solo in un articolo. Quindi potresti creare un secondo modulo html personalizzato e quindi chiamare la prima posizione. Questo in sostanza ti darebbe una copia della posizione, ma qualsiasi impostazione modificata nel primo modulo verrà applicata anche nel secondo "clone".

1
Jordan Ramstad

Suggerisco di creare un semplice plugin e di usare qualcosa del genere per pubblicare il modulo in più posizioni (usando un loop):

$document   = &JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'xhtml');
for ($x=0; $x<=5; $x++) {
     $position   = 'myPosition' . $x;
     echo $renderer->render($position, $options, null);
}
// Repeat for each module position, changing only $position

(Non testato)

Vedrò se riesco a mettere insieme qualcosa di più completo più tardi oggi.

1
johanpw

A un livello semplice puoi provare questo:

Se si tratterà di un singolo modulo e hai già definito dove vuoi visualizzarlo, puoi creare una posizione del modulo speciale nel tuo modello ed effettuare 2 o tutte le chiamate necessarie, nelle posizioni che desideri nel modello. Caricherà i moduli di quella posizione ovunque tu lo chiami.

Se ci sono più moduli e per più posizioni vuoi applicarlo, l'approccio sopra può ancora andare bene, a meno che se non hai bisogno di un maggiore controllo o di aspetti complessi dei moduli, qualcosa che potrebbe richiedere una creazione "più intelligente" delle posizioni dei moduli e richiede i moduli.

1
FFrewin