Szukam rozwiązania, które pozwoli automatycznie uruchamiać moduł źródła RSS, stworzony w News Show Pro w na głównej stronie, który pojawi się w momencie, gdy na stronie dawcy kanału RSS pojawi się artykuł.
Szukam rozwiązania, które pozwoli automatycznie uruchamiać moduł źródła RSS, stworzony w News Show Pro w na głównej stronie, który pojawi się w momencie, gdy na stronie dawcy kanału RSS pojawi się artykuł.
Opisz proszę jak to ma działać. Bo w kanale są przechowywane artykuły... czyli tam powinien być jakiś artykuł cały czas.
Na Forum pomagam bezpłatnie ad maiorem Joomla gloriam
Mimo pomocy na forum nie dajesz rady? Potrzebujesz by ekspert "zrobił to" za Ciebie?
Napisz do mnie na PW. Argentum et Aurum nie zawsze jest konieczne ;)
OK. to tak, na jednej stronie mam moduł z jednym artykułem np. życzenia itp. który wstawiam sam od czasu do czasu. Chciałbym, aby na pozostałych stornach w momencie, kiedy ja utworze i opublikuję dany artykuł, uruchomił się moduł z kanałem RSS i tamten artykuł się pojawi. Na dziś działa to tak, że moduł jest i pokazuje tam, że nie ma artykułów.
To powinno działać bez żadnych dodatkowych modyfikacji. W ustawieniach modułu zaznacz "Ukryj gdy pusty" na TAK: http://prntscr.com/ouz2kv
Przy czym faktycznie zawartość modułu musi być pusta czyli tytuł, opis i data publikacji kanału muszą być wyłączone (jak na zrzucie), dopiero wtedy moduł będzie ukrywany przy braku artykułów w kanale.
Jeśli mimo tych ustawień moduł jest wciąż widoczny to znaczy, że Twój aktualny szablon nie obsługuje ukrywania pustych modułów. Ale to łatwo naprawić:
1. Edytujplik
ROOT/templates/<twoj-szablon>/html/modules.php
2. Sprawdź czy znajduje się tam linia if ($module->content) przy jakiejkolwiek funkcji np:
Jeśli nie ma to trzeba ją dodać tak jak w powyższym kodzie (odpowiedni objąć warunkiem i klamrami wyświetlanie zawartości modułu). Jak sobie z tym nie poradzisz - pisz na forum.Kod PHP:
function modChrome_no($module, &$params, &$attribs)
{
if ($module->content)
{
echo $module->content;
}
}
Na Forum pomagam bezpłatnie ad maiorem Joomla gloriam
Mimo pomocy na forum nie dajesz rady? Potrzebujesz by ekspert "zrobił to" za Ciebie?
Napisz do mnie na PW. Argentum et Aurum nie zawsze jest konieczne ;)
Wygląda to następująco, niestety nie mam opcji ukryj gdy pusty. Ps. czy jak wkleję ten kod przy twojej pomocy to taką opcję będe miał we wszystkch modułach. Proszę o pomoc w konfiguracjiKod PHP:
<?php
/*--------------------------------------------------------------
# Copyright (C) joomla-monster.com
# License: http://www.joomla-monster.com/license.html Joomla-Monster Proprietary Use License
# Website: http://www.joomla-monster.com
# Support: info@joomla-monster.com
---------------------------------------------------------------*/
/**
* @version $Id: modules.php 10822 2008-08-27 17:16:00Z tcp $
* @package Joomla
* @copyright Copyright (C) 2005 - 20015 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined('_JEXEC') or die;
function modChrome_jmmodule($module, &$params, &$attribs) {
$moduleTag = $params->get('module_tag', 'div');
$headerTag = htmlspecialchars($params->get('header_tag', 'h3'));
$bootstrapSize = (int) $params->get('bootstrap_size', '0');
$moduleClass = $bootstrapSize != '0' ? $bootstrapSize : '';
if($module->showtitle == 0) { $notitle='notitle'; } else $notitle='';
$title = $module->title;
$title = preg_split('#\s#', $title);
$title[0] = '<span>'.$title[0].'</span>';
$title= implode(' ', $title);
if (!empty ($module->content)) : ?>
<<?php echo $moduleTag; ?> class="jm-module <?php echo htmlspecialchars($params->get('moduleclass_sfx')); ?>">
<<?php echo $moduleTag; ?> class="jm-module-in">
<?php if ((bool) $module->showtitle) :?>
<<?php echo $headerTag; ?> class="jm-title <?php echo $params->get('header_class'); ?>"><?php echo $title; ?></<?php echo $headerTag; ?>>
<?php endif;?>
<<?php echo $moduleTag; ?> class="jm-module-content clearfix <?php echo $notitle; ?>">
<?php echo $module->content; ?>
</<?php echo $moduleTag; ?>>
</<?php echo $moduleTag; ?>>
</<?php echo $moduleTag; ?>>
<?php endif; ?>
<?php }
function modChrome_jmmoduleraw($module, &$params, &$attribs) {
$moduleTag = $params->get('module_tag', 'div');
if ($module->content != '') {
?>
<<?php echo $moduleTag; ?> class="jm-module-raw <?php echo $params->get('moduleclass_sfx'); ?>">
<?php echo $module->content; ?>
</<?php echo $moduleTag; ?>>
<?php
}
}
?>
Dobra, teraz pytanie czy pozycja modułu w którym wyświetlasz moduł z kanałem ma styl:
a) jmmodule
czy
b) jmmoduleraw
W sumie to po klasie powinno być widać jm-module to a) jm-module-raw to b).
Na Forum pomagam bezpłatnie ad maiorem Joomla gloriam
Mimo pomocy na forum nie dajesz rady? Potrzebujesz by ekspert "zrobił to" za Ciebie?
Napisz do mnie na PW. Argentum et Aurum nie zawsze jest konieczne ;)
Dobra, bo rozumiem, że włączenie ustawienia w module by nie wyświetlało modułu jeśli jest pusty (przy wyłączonym tytule, opisie i dacie kanału) nie powoduje ukrycia modułu?
Zmień:
Na:Kod PHP:
if (!empty ($module->content)) : ?>
<<?php echo $moduleTag; ?> class="jm-module <?php echo htmlspecialchars($params->get('moduleclass_sfx')); ?>">
<<?php echo $moduleTag; ?> class="jm-module-in">
<?php if ((bool) $module->showtitle) :?>
<<?php echo $headerTag; ?> class="jm-title <?php echo $params->get('header_class'); ?>"><?php echo $title; ?></<?php echo $headerTag; ?>>
<?php endif;?>
<<?php echo $moduleTag; ?> class="jm-module-content clearfix <?php echo $notitle; ?>">
<?php echo $module->content; ?>
</<?php echo $moduleTag; ?>>
</<?php echo $moduleTag; ?>>
</<?php echo $moduleTag; ?>>
<?php endif; ?>
<?php }
Kod PHP:
if ($module->content) { ?>
<<?php echo $moduleTag; ?> class="jm-module <?php echo htmlspecialchars($params->get('moduleclass_sfx')); ?>">
<<?php echo $moduleTag; ?> class="jm-module-in">
<?php if ((bool) $module->showtitle) :?>
<<?php echo $headerTag; ?> class="jm-title <?php echo $params->get('header_class'); ?>"><?php echo $title; ?></<?php echo $headerTag; ?>>
<?php endif;?>
<<?php echo $moduleTag; ?> class="jm-module-content clearfix <?php echo $notitle; ?>">
<?php echo $module->content; ?>
</<?php echo $moduleTag; ?>>
</<?php echo $moduleTag; ?>>
</<?php echo $moduleTag; ?>>
<?php } ?>
<?php }
Na Forum pomagam bezpłatnie ad maiorem Joomla gloriam
Mimo pomocy na forum nie dajesz rady? Potrzebujesz by ekspert "zrobił to" za Ciebie?
Napisz do mnie na PW. Argentum et Aurum nie zawsze jest konieczne ;)
Kod wkleiłem odświeżyłem niestety nie pojawiła mi się możliwość w module ukryty, gdy pusty.
Nie, ten kod tylko ukrywa gdy zawartość modułu jest pusta. Opcja podczas edycji modułu jest opcją Joomli.
Pokaż zrzut ekranu tego modułu podczas edycji.
Na Forum pomagam bezpłatnie ad maiorem Joomla gloriam
Mimo pomocy na forum nie dajesz rady? Potrzebujesz by ekspert "zrobił to" za Ciebie?
Napisz do mnie na PW. Argentum et Aurum nie zawsze jest konieczne ;)