it-swarm.dev

Perché le posizioni del mio modello diventano Posizione personalizzata in Gestione moduli?

Ho creato la posizione dei miei moduli nel mio modello e ho anche dichiarato nel file XML. Ora nel gestore del modulo quando scelgo una delle mie posizioni del modulo e salvo il modulo, lo mostra quindi come posizione personalizzata nel campo di selezione Posizioni modulo.

Aggiornare:

Non sto usando alcun framework. Solo template joomla casual. Le posizioni dei moduli sono definite nell'XML e nei file di blocco del modello (quindi non devono essere considerate posizioni personalizzate) e normalmente vengono visualizzate nel filtro Posizione modulo in Gestione moduli.

Ma dopo aver salvato un modulo, lo aggiungerà anche nel gruppo Posizioni personalizzate nel filtro, terminando con la stessa posizione del modulo due volte, 1 sotto le posizioni mytemplate e 1 sotto posizioni personalizzate.

Rende le cose un po 'confuse.

Aggiornamento 2

Mi sono appena reso conto che questo sta accadendo anche di default anche con il modello protostar e probabilmente anche con altri modelli. Dopo aver assegnato un modulo alla posizione, questa posizione diventa disponibile anche nelle Posizioni del modulo personalizzato. Questo non vale anche per chiunque altro?

1
FFrewin
  1. Penso che l'etichetta <optgroup> Debba essere cambiata da "Posizione personalizzata" a "Posizione già utilizzata" o "Posizioni selezionate" o qualcosa del genere. Per fare ciò, creare o aprire il file

    /administrator/language/overrides/en-GB.override.ini
    

    e aggiungi questa riga:

    COM_MODULES_CUSTOM_POSITION="Already Used"
    
  2. Inoltre c'è un modo sporco per sbarazzarsi di optgroup commentando questa riga

    $templateGroups[$customGroupText] = ModulesHelper::createOptionGroup($customGroupText, $customPositions);
    

    nel

    /administrator/components/com_modules/helpers/html/modules.php
    

    e scegli nomi di posizioni univoci nel file XML del tuo modello.

1
Farahmand

Prova anche a definire le posizioni del tuo modulo nominandole nel file della lingua del sistema del modello, ad esempio;

en-GB.tpl_yourtemplatename.sys.ini

Assegna un nome a ciascuna posizione in questo modo, in cui in questo esempio le posizioni del modulo sono intestazione, banner e breadcrumb e il nome del tuo modello è il nome del tuo modello;

TPL_YOURTEMPLATENAME_POSITION_HEADER="Header"
TPL_YOURTEMPLATENAME_BANNER="Banner"
TPL_YOURTEMPLATENAME_BREADCRUMBS="Breadcrumbs" 
1
Seth Warburton