Tekstje afhankelijk van bezoekersaantal

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
Joost de Bruijn

Tekstje afhankelijk van bezoekersaantal

Post by Joost de Bruijn »

Hoi allemaal,

Op mijn website heb ik een eenvoudige bezoekersteller staan waar je kunt zien hoeveel bezoekers er online zijn en hoeveel leden. Nu zou ik dat stukje ook grammaticaal kloppend willen maken. Ik heb dus toen het volgende stukje code gemaakt:

Code: Select all

{capture assign='feucount'}{feu_online}{/capture}
{capture assign='visitorcount'}{Statistics what="online" how="txt"}{/capture}
{if $visitorcount == "1" && $feucount =="1"}
<p>Er is momenteel {$visitorcount} bezoeker online, waarvan {$feucount} lid!</p>
{elseif $feucount == "1"}
<p>Er zijn momenteel {$visitorcount} bezoekers online, waarvan {$feucount} lid!</p>
{elseif $visitorcount == "1"}
<p>Er is momenteel {$vistitorcount} bezoeker online, waarvan {$feucount} leden!</p>
{else}
<p>Er zijn momenteel {$visitorcount} bezoekers online, waarvan {$feucount} leden!</p>{/if}
Alleen wordt er nu alleen steeds de laatste regel vertoont. Kennelijk heb ik dus iets niet goed gedaan, maar wat is de fout?

Alvast bedankt!
Groeten,
Joost.
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: Tekstje afhankelijk van bezoekersaantal

Post by Rolf »

Hallo Joost
Heb je gecontroleerd of de basis variabelen de juist waarde krijgen?

{capture assign='feucount'}{feu_online}{/capture}
{capture assign='visitorcount'}{Statistics what="online" how="txt"}{/capture}
<p>feucount: {$feucount}</p>
<p>visitorcount: {$visitorcount}</p>
...

Wellicht:
{if ($visitorcount == "1") && ($feucount =="1")}

grt. Rolf
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm

Re: Tekstje afhankelijk van bezoekersaantal

Post by RonnyK »

Joost,

je code werkt voor mij. Ik kan niet de {feu_online} testen, omdat ik die niet heb, maar als ik daar gewoon 1/2 inzet, krijg ik tweemaal een andere zin, oftewel de logica klopt.

Wel een aantal opmerkingen, in je laatste elseif heb je een typo in de variable van visitorcount. Daarnaast is die taaltechnisch niet goed. Als je namelijk 1 bezoeker hebt, dan kan dat 1/0 lid zijn, maar nooit meer dan 1, dus leden is daar niet goed.

Ronny
Joost de Bruijn

Re: Tekstje afhankelijk van bezoekersaantal

Post by Joost de Bruijn »

Beste Rolf en RonnyK,

Ik ben eruit gekomen. In mijn UDT van de {feu_online} zat een foutje. Deze creëerde nog een witregel na het getal waardoor het controleren van de waarde fout ging. Daarnaast heb ik de typefouten nog even verbeterd!

Bedankt voor de hulp!
Groeten,
Joost.
User avatar
erpee
Power Poster
Power Poster
Posts: 771
Joined: Sat Jul 07, 2007 9:22 am

Re: Tekstje afhankelijk van bezoekersaantal

Post by erpee »

Is dan ook helemaal leuk als je die UDT even post ... Kunnen we weer van leren!
Waarom zou het direct goed moeten gaan? Dan is alle lol weg ...
Joost de Bruijn

Re: Tekstje afhankelijk van bezoekersaantal

Post by Joost de Bruijn »

Natuurlijk! De UDT heb ik overigens niet helemaal zelf gemaakt maar met aanwijzingen in dit topic. Hieronder de UDT die ik gebruik op mijn site:

Code: Select all

global $gCms;
$config = $gCms->config;
$feusers = &$gCms->modules['FrontEndUsers']['object'];
if($feusers)
{
$uid = $feusers->LoggedInID();
$username = $feusers->LoggedInName();
$count=0;
}


if(empty($params['minutes'])) $params['minutes'] = 10;
$t = time() - ($params['minutes'] * 60);

if(empty($params['pageid'])) $params['pageid'] = $gCms->variables['content_id'];

if(empty($params['separator'])) $params['separator'] = ', ';

if( empty($params['viewloggedonly']) || ($params['viewloggedonly'] == '0') ) $params['viewloggedonly'] = false;
else $params['viewloggedonly'] = true;


if( ($params['viewloggedonly']) && (!isset($username) || ($username == '')) )
return;


$result = array();
$db = &$gCms->db;
$q = "SELECT t1.userid, t2.username FROM " . cms_db_prefix() . "module_feusers_loggedin t1
INNER JOIN " . cms_db_prefix() . "module_feusers_users t2 ON t1.userid=t2.id
WHERE t1.lastused >= ?";
$dbresult = $db->Execute( $q, array($t));
if($dbresult && $dbresult->RecordCount() > 0)
{
while ( $row = $dbresult->FetchRow() )
{
$result[] = array($row['userid'] ,$row['username']);
$count=+1;
}
}
echo ($count);
Hopelijk hebben jullie hier iets aan!
Groeten,
Joost.
Post Reply

Return to “Dutch - Nederlands”