[opgelost] Birthday listing Topic is solved
Moderator: velden
[opgelost] Birthday listing
Hallo,
De module birthday listing geinstalleerd. Werkt goed en simpel.
Ik heb een tweedeling gemaakt:
- wie is er vadaag jarig?
- wie zijn er de komende 30 dagen jarig?
Best de mogelijkheid om in het laatste (30 dagen) overzichtje de verjaardagen van de huidige dag niet te tonen?
Zo ja, op welke wijze pak ik dat aan?
De module birthday listing geinstalleerd. Werkt goed en simpel.
Ik heb een tweedeling gemaakt:
- wie is er vadaag jarig?
- wie zijn er de komende 30 dagen jarig?
Best de mogelijkheid om in het laatste (30 dagen) overzichtje de verjaardagen van de huidige dag niet te tonen?
Zo ja, op welke wijze pak ik dat aan?
Last edited by peterbus on Tue Apr 24, 2012 8:24 am, edited 1 time in total.
Re: Birthday listing
Persoonlijk vind ik je wens niet echt logisch, maar voor deze vraag kun je het best direct contact zoeken met Duketown, denk ik.
Conform de forumreglementen mogen er hier namelijk geen aanpassingen op code van core/modules/plugins geplaatst worden.
[edit]
Misschien is er geen aanpassing van de code nodig als je zelf templates kunt definiëren? Ik ken de module zelf niet, maar als dat het geval is dan zal er waarschijnlijk wel een foreach lus in zitten.
Daarbinnen kun je met een {if} statement checken of het de datum van vandaag betreft en in dat geval die regel niet weergeven.
Conform de forumreglementen mogen er hier namelijk geen aanpassingen op code van core/modules/plugins geplaatst worden.
[edit]
Misschien is er geen aanpassing van de code nodig als je zelf templates kunt definiëren? Ik ken de module zelf niet, maar als dat het geval is dan zal er waarschijnlijk wel een foreach lus in zitten.
Daarbinnen kun je met een {if} statement checken of het de datum van vandaag betreft en in dat geval die regel niet weergeven.
Re: Birthday listing
Het betreft hier zeker geen aanpassing modules maar een aanvulling op de template.
Of iets in de geest van van een UDT.
Ik wil het onderscheid duidelijk maken tussen Vandaag zijn jarig en De komende tijd zijn jarig. Nu staat alles in één lijstje.
Vandaar.
Of iets in de geest van van een UDT.
Ik wil het onderscheid duidelijk maken tussen Vandaag zijn jarig en De komende tijd zijn jarig. Nu staat alles in één lijstje.
Vandaar.
Re: Birthday listing
Oke, kun je de template van jouw "30 dagen" lijstje hier misschien posten?
Re: Birthday listing
bij dezen:
Content pagina Wie zijn er vandaag jarig?
{cms_module module=birthdaylisting showage=1 summarytemplate="pp-almelo" }
Template:
{if $itemcount > 0}
{foreach from=$items item=entry}
<p><b>- {$entry->name}</b> wordt vandaag {$entry->age} jaar</p>
{/foreach}
{else}
{$nobirthdays}
{/if}
content pagina
Wie zijn er de komende tijd jarig?
{cms_module module=birthdaylisting showage=1 withindays=30}
Template:
{if $itemcount > 0}
{foreach from=$items item=entry}
<p><b>- {$entry->name}</b> wordt op {$entry->birthday|date_format:"%e %B"} {$entry->age} jaar</p>
{/foreach}
{else}
{$nobirthdays}
{/if}
Resultaat front end:
Wie zijn er vandaag jarig?
- Peter wordt vandaag 19 jaar
Wie zijn er de komende tijd jarig?
- Peter wordt op 23 april 19 jaar
- Rita Coolidge wordt op 1 mei 66 jaar
- Minami Takayama wordt op 5 mei 47 jaar
Content pagina Wie zijn er vandaag jarig?
{cms_module module=birthdaylisting showage=1 summarytemplate="pp-almelo" }
Template:
{if $itemcount > 0}
{foreach from=$items item=entry}
<p><b>- {$entry->name}</b> wordt vandaag {$entry->age} jaar</p>
{/foreach}
{else}
{$nobirthdays}
{/if}
content pagina
Wie zijn er de komende tijd jarig?
{cms_module module=birthdaylisting showage=1 withindays=30}
Template:
{if $itemcount > 0}
{foreach from=$items item=entry}
<p><b>- {$entry->name}</b> wordt op {$entry->birthday|date_format:"%e %B"} {$entry->age} jaar</p>
{/foreach}
{else}
{$nobirthdays}
{/if}
Resultaat front end:
Wie zijn er vandaag jarig?
- Peter wordt vandaag 19 jaar
Wie zijn er de komende tijd jarig?
- Peter wordt op 23 april 19 jaar
- Rita Coolidge wordt op 1 mei 66 jaar
- Minami Takayama wordt op 5 mei 47 jaar
Re: Birthday listing
Oke, dan wordt het waarschijnlijk zoiets:
Code: Select all
{if $itemcount > 0}
{foreach from=$items item=entry}
{if $entry->birthday|date_format:'%m-%d' != $smarty.now|date_format:'%m-%d'}
<p><b>- {$entry->name}</b> wordt op {$entry->birthday|date_format:"%e %B"} {$entry->age} jaar</p>
{/if}
{/foreach}
{else}
{$nobirthdays}
{/if}
Re: [opgelost] Birthday listing
Om ze in een lijst te zetten doe je:
grt. Rolf
Code: Select all
{if $itemcount > 0}
<ul>
{foreach from=$items item=entry}
{if $entry->birthday|date_format:'%m-%d' != $smarty.now|date_format:'%m-%d'}
<li>{$entry->name}</b> wordt op {$entry->birthday|date_format:"%e %B"} {$entry->age} jaar</li>
{/if}
{/foreach}
</ul>
{else}
{$nobirthdays}
{/if}
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: [opgelost] Birthday listing
Ha Rolf,
Die ga ik ook nog even uitproberen. Dank je.
Jammer dat er geen koppeling bestaat met de feu module. Scheelt weer een hoop werk.
Die ga ik ook nog even uitproberen. Dank je.
Jammer dat er geen koppeling bestaat met de feu module. Scheelt weer een hoop werk.
Re: [opgelost] Birthday listing
Volgens mij is deze module uit de allereerste Nederlandse CMS Made Simple workshop voortgekomen en bedoeld als voorbeeld hoe je "simpel" zelf een module kunt maken... daar was ik net niet bij dus kan zijn dat ik het mis heb.
Maar een "koppeling" met FEU heb je in principe niet nodig. Volgens mij zou je voldoende hebben aan een extra attribuut in FEU met de geboortedatum.
Ik kan me heugen dat ik bij de tips en truuks al een keer gepost hebt hoe je vanuit een datum een leeftijd uitrekent... Zou echter kunnen dat dat voor deze toepassing niet precies genoeg is en enige aanpassing vereist.
Het is dan alleen nog even puzzelen om daar een lijstje van te maken. De kneep zal hem vooral zitten in het sorteren ervan.
Maar een "koppeling" met FEU heb je in principe niet nodig. Volgens mij zou je voldoende hebben aan een extra attribuut in FEU met de geboortedatum.
Ik kan me heugen dat ik bij de tips en truuks al een keer gepost hebt hoe je vanuit een datum een leeftijd uitrekent... Zou echter kunnen dat dat voor deze toepassing niet precies genoeg is en enige aanpassing vereist.
Het is dan alleen nog even puzzelen om daar een lijstje van te maken. De kneep zal hem vooral zitten in het sorteren ervan.
Re: [opgelost] Birthday listing
Onderstaand heeft een vriend van me gemaakt (ik mis daartoe de vaardigheden). Opdrachtgever wilde daar echter ook een overzichtje "Wie is er de komende tijd jarig" bij. Tja, en dan ben je eigenlijk al weer bij de birthdaylist module.
D'r schijnt iets te zijn in cmsms waardoor het berekenen van een verjaardag van mensen die zijn geboren voor 1971 wat extra werk behoeft. Heb ik dat goed begrepen?
globak content block:
{
udt:
D'r schijnt iets te zijn in cmsms waardoor het berekenen van een verjaardag van mensen die zijn geboren voor 1971 wat extra werk behoeft. Heb ik dat goed begrepen?
globak content block:
{
Code: Select all
if !isset($birthdays)}
{birthdays}
{/if}
{foreach from=$birthdays item=bday}
<a href="/index.php?mact=FrontEndUserListing,cntnt01,viewdetails,0&cntnt01uid={$bday.userid}&cntnt01returnid=276">{$bday.naam}</a> wordt {$bday.age}</br>
{foreachelse}
Er is niemand jarig vandaag.
{/foreach}
Code: Select all
$gCms = cmsms();
$db = $gCms->GetDb();
if (!function_exists('fetch')) {
function fetch($db,$q) {
$dbresult = $db->Execute( $q );
if( !$dbresult )
{
echo 'DB error: '. $db->ErrorMsg()."<br/>";
}
$results = array();
while ($dbresult && $row = $dbresult->FetchRow()) {
$results[] = $row;
}
return $results;
}
}
$sql = '
select p1.userid, if(isnull(p3.data), concat(p4.data, " " , p2.data) , concat(p4.data, " " ,p3.data," ", p2.data) ) as naam, timestampdiff(YEAR, DATE_ADD(FROM_UNIXTIME(0), INTERVAL p1.data SECOND), curdate()) as age
from cms_module_feusers_properties p1
left join cms_module_feusers_properties p2 on (p2.userid=p1.userid and p2.title="achternaam")
left join cms_module_feusers_properties p3 on (p3.userid=p1.userid and p3.title="tussenvoegsel")
left join cms_module_feusers_properties p4 on (p4.userid=p1.userid and p4.title="voornaam")
where p1.title = "geboortedatum"
and month(DATE_ADD(FROM_UNIXTIME(0), INTERVAL p1.data SECOND)) = month(curdate())
and day(DATE_ADD(FROM_UNIXTIME(0), INTERVAL p1.data SECOND)) = day(curdate());';
$b = fetch($db, $sql);
$smarty->assign('birthdays',$b);[/size]
Last edited by peterbus on Tue Apr 24, 2012 6:28 pm, edited 1 time in total.
Re: [opgelost] Birthday listing
Ziet er ingewikkeld genoeg uit om te kunnen werken 
Mijn aanpak was als volgt:
http://forum.cmsmadesimple.org/viewtopi ... 52&t=57119

Dat ligt niet aan CMSms maar eerder aan de specifiek gebruikte php en/of mysql functies.peterbus wrote:D'r schijnt iets te zijn in cmsms waardoor het berekenen van een verjaardag van mensen die zijn geboren voor 1971 wat extra werk behoeft. Heb ik dat goed begrepen?
Mijn aanpak was als volgt:
http://forum.cmsmadesimple.org/viewtopi ... 52&t=57119