modul Upoutávka

Šmidmayer
23. zář 2018 12:15 #137101
Hezký den.
Joomla verze 3
Prosím můžete někdo poradit?
Vytvořil jsem modul Upoutávka. Mám s ním jeden problém. Pokud vyprší zveřejnění článků, zůstává nadpis modulu (a tedy nemá žádný obsah).
Ve verzi Joomly 2 byl také obdobný modul (už si nepamatuji, jak se přesně nazýval), který pokud neobsahoval žádné články, tak se nezobrazil (alespoň jak má chabá paměť funguje) .
Je nějaká možnost, nebo jsem něco přehlédl, jak automatického zneneřejňování modulu dosáhnout?
Děkuji.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
23. zář 2018 19:29 #137103
Napadají mne 2 možnosti

1/ úpravou šablony

- vytvořit si vlastní funkci pro zobrazování modulů (v šabloně soubor /html/modules.php), ve které kontrolovat, zda modul má nějaký obsah, zjednodušeně např. takto:
function modChrome_mujStyl($module, &$params, &$attribs)
{ 
  $moduleclass_sfx = $params->get('moduleclass_sfx') ? ' module-' . $params->get('moduleclass_sfx') : '';
  $class= isset($attribs['name']) ? ' module-' . $attribs['name'] : '';
  $class.= $params->get('bootstrap_size','0') ? ' span'.$params->get('bootstrap_size','0') : '';
	if (!preg_match('/^\s*$/',$module->content)) { ?>    
		<<?php echo $params->get('module_tag','div'); ?> class="module<?php echo $class . $moduleclass_sfx; ?>">
  			<?php if ($module->showtitle) { ?>
  				<<?php echo $params->get('header_tag','h3'); ?> class="module-title <?php echo $params->get('header_class',''); ?>"><?php echo $module->title; ?></<?php echo $params->get('header_tag','h3'); ?>>
  			<?php } ?>
  			<?php echo $module->content; ?>
		</<?php echo $params->get('module_tag','div'); ?>>
	<?php }
}
Styl pak aplikujete buď úpravou index.php v šabloně, kde u příslušného modulu doplníte tag např. takto
<jdoc:include type="modules" name="right" style="mujStyl" />
Nebo jen přímo u konkrtétního modulu v administraci na záložce pokročilé.

2/ Komponenta Advanced module manager

- umožňuje pokročilejší nastavení podmínke zobrazování modulů, krom jiného i časové omezení, nebo zda se má zobrazovat modul bez onsahu.
Poděkovali: Šmidmayer

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.