Page 1 of 1

Tekstje afhankelijk van bezoekersaantal

Posted: Sun Jan 09, 2011 1:35 pm
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.

Re: Tekstje afhankelijk van bezoekersaantal

Posted: Sun Jan 09, 2011 2:26 pm
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

Re: Tekstje afhankelijk van bezoekersaantal

Posted: Sun Jan 09, 2011 2:33 pm
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

Re: Tekstje afhankelijk van bezoekersaantal

Posted: Sun Jan 09, 2011 2:46 pm
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.

Re: Tekstje afhankelijk van bezoekersaantal

Posted: Mon Jan 10, 2011 7:14 pm
by erpee
Is dan ook helemaal leuk als je die UDT even post ... Kunnen we weer van leren!

Re: Tekstje afhankelijk van bezoekersaantal

Posted: Tue Jan 11, 2011 7:29 am
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.