it-swarm-eu.dev

Imposta l'assegnazione del modulo alla creazione del menu

Ho un componente che crea pagine di contenuti per entità personalizzate.

Ho un XML che consente di impostare quelle pagine come voci di menu di quel tipo di entità.

Ho 1 modulo che voglio sempre visualizzare su voci di menu di quel tipo.

Ho 1 modulo che non voglio mai visualizzare su voci di menu di quel tipo.

Ora sto cercando di capire come risparmiare ai miei clienti la seccatura di andare dal gestore del modulo per impostare e annullare le assegnazioni dei moduli ogni volta che creano una nuova voce di menu.

C'è un modo per impostare programmaticamente le assegnazioni dei moduli al momento della creazione del menu? Ho capito dove e come sono archiviate le assegnazioni nel database, ma non riesco a trovare un evento per un plugin da agganciare alla creazione del menu.

Qualche suggerimento o indizio su come affrontarlo?

2
user3154108

Forse sarebbe una buona idea unire i 2 moduli in uno singolo dinamico. Quindi in questo modulo puoi verificare con JInput per il tipo/vista di contenuto corrente e visualizzare condizionalmente i dati desiderati dall'interno modulo.

Se il tipo di contenuto appartiene a quella voce di menu, visualizza i dati per il primo modulo, altrimenti visualizza i dati per il secondo modulo.

1
FFrewin

Estendendo l'idea di FFrewin, potresti creare posizioni dinamiche del modulo nel tuo modello che appaiono solo quando sono soddisfatte le condizioni appropriate e assegnare i moduli di conseguenza? cioè farlo a livello di modello anziché a livello di modulo in modo che i moduli di terze parti possano rimanere intatti.

Un altro suggerimento sarebbe quello di creare un terzo modulo su misura che carichi gli altri moduli in modo programmatico, invece di assegnarli tramite il gestore del modulo.

In alternativa, l'approccio rapido e sgradevole sarebbe quello di aggiungere un file CSS alla vista del tuo componente che mostra/nasconde i moduli con CSS. Non credo che i contenuti nascosti siano davvero un grosso problema SEO, rendono la pagina un po 'più pesante.

1
Richard B