PDA

Zobacz pełną wersję : Modyfikacja modułu WHO'S ON LINE



jerry34
24-02-2012, 13:10
Czy można zmodyfikować moduł WHO'S ON LINE tak, aby pokazywał tylko liczbę gości, a nie pokazywał liczby użytkowników - osób zalogowanych (na witrynie nie ma w ogóle logowania)? A jeśli tak, to jak to zrobić?

zwiastun
24-02-2012, 13:23
Używanie tego modułu, jeśli ma sens, to tylko po to, żeby pokazywał zalogowanych. Poszukaj na forum wypowiedzi na jego temat, bo oczywiście zapomniałeś, że mamy tu szukajkę.

palyga007
24-02-2012, 13:23
zastosować nadpisywanie szablonem.

Ten moduł to bardziej zabawka niż jakiekolwiek narzędzie do wyświetlania chociażby przybliżonej liczby aktualnie odwiedzających stronę.

Jdwind
24-02-2012, 13:29
Jak już na siłę chcesz to usuń (lub zakomentuj) to:

if ($count['guest'] != 0 && $count['user'] != 0) :
echo ' ' . JText::_('and') . ' ';
endif;

if ($count['user'] == 1) :
echo JText::sprintf('member', '1');
else :
if ($count['user'] > 1) :
echo JText::sprintf('members', $count['user']);
endif;
endif;
w pliku default.php w katalogu modules/mod_whosonline/tmpl. Tudzież skorzystaj z nadpisywania szablonem, co zaproponował kolega P. :)

jerry34
24-02-2012, 14:00
Dzięki za pomoc!! Wiem, że moduł pokazuje niewiarygodne dane, ale zawsze zawyża je mocno w górę np. wobec Google Analitycsa, a to ładnie wygląda na stronce :)
A instalacja dodatkowych liczników odwiedzin w Joomli 2.5 mi się nie udaje, pomimo kilku prób... :obojetny:

---------- Post dodany o 14:00 ---------- Poprzedni post był o 13:36 ----------

Ale u mnie we wskazanym pliku nie ma takiego kodu, jak mi napisałeś. U mnie jest następujący:

<?php if ($showmode == 0 || $showmode == 2) : ?>
<?php $guest = JText::plural('MOD_WHOSONLINE_GUESTS', $count['guest']); ?>
<!-- <?php $member = JText::plural('MOD_WHOSONLINE_MEMBERS', $count['user']); ?> -->
<p><?php echo JText::sprintf('MOD_WHOSONLINE_WE_HAVE', $guest, $member); ?></p>
<?php endif; ?>

<?php if (($showmode > 0) && count($names)) : ?>
<ul class="whosonline<?php echo $moduleclass_sfx ?>" >
<?php if ($params->get('filter_groups')):?>
<p><?php echo JText::_('MOD_WHOSONLINE_SAME_GROUP_MESSAGE'); ?></p>
<?php endif;?>
<?php foreach($names as $name) : ?>
<li>
<?php echo $name->username; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif;

Jdwind
24-02-2012, 23:45
Myślami jeszcze ciągle jestem przy Joomla 1.5 i się nie mogę przestawić :) W pliku default.php zmień:

<p><?php echo JText::sprintf('MOD_WHOSONLINE_WE_HAVE', $guest, $member); ?></p>
na

<p><?php echo JText::sprintf('MOD_WHOSONLINE_WE_HAVE', $guest, ''); ?></p>
W pliku pl-PL.mod_whosonline.ini w katalogu language\pl zmień MOD_WHOSONLINE_WE_HAVE="Odwiedza nas %1$s oraz*%2$s." na: MOD_WHOSONLINE_WE_HAVE="Odwiedza nas %1$s %2$s."

jerry34
25-02-2012, 10:51
Dzięki, pomogło! Jest teraz tak jak chciałem :)

zwiastun
25-02-2012, 10:52
Kod PHP zmien na


<p><?php echo JText::sprintf('MOD_WHOSONLINE_WE_HAVE', $guest); ?></p>

Tłumaczenie w plikach językowych zmień na

MOD_WHOSONLINE_WE_HAVE="Odwiedza nas %1$s."

jerry34
25-02-2012, 11:25
Dzięki, już jest OK! :)