it-swarm-eu.dev

Come impedire il rendering dei moduli vuoti di joomla, anche restituendo false?

Come impedire il rendering dei moduli vuoti di Joomla? Per realizzare questo-

Ho provato restituendo false dal file di ingresso del modulo se non c'è output. Ho scritto il seguente codice nel file di immissione dei moduli, ad es. Mod_xyx.php

// Hide mod when no output.
if ( @no_output)
{
    return ;
}

Funziona con il modello predefinito di Joomla ma non funziona con alcuni modelli.

1
vidyasagar

Se sei sicuro al 100% che l'output del tuo modulo è vuoto, il tuo modello potrebbe aggiungere un chrome al modulo.

Puoi controllare come JModuleHelper :: renderModule genera l'output del modulo e (facoltativamente) chiama il template chrome.

https://github.com/joomla/joomla-cms/blob/staging/libraries/cms/module/helper.php#L176

1
Anibal

L'ho riscontrato in passato e la tua risposta è probabilmente nei tuoi file modello ... probabilmente vedrai che sta controllando se ci sono count di moduli - qualcosa del genere da Protostar:

<?php if ($this->countModules('position-8')) : ?>
<!-- Begin Sidebar -->
<div id="sidebar" class="span3">
    <div class="sidebar-nav">
        <jdoc:include type="modules" name="position-8" style="xhtml" />
    </div>
</div>
<!-- End Sidebar -->
<?php endif; ?>

Non considera se esiste o meno un output, quindi esegue il rendering della posizione del modulo indipendentemente da ciò che è/non viene visualizzato.

0
GDP