Hello,

I had start a forum topic about this, but it was not clear enough, I didn't get one reply.
So I decide to try to explain my challenge much better.

What do I want:
- See the picture: http://img397.imageshack.us/img397/7440/birthdaycalendar.png (No pop-ups)
- As you can see a Previous month button, a Next month button and a current month with the dates we have birthdays
- A content type Birthday, so the admin can create birthday entries (this is working already, CCK)*

I do not want:
- A profile setting for the user, so that they enter the Birthday (its an Intranet, some users never register)
- A calender view, just that list from the picture

Please, I don't ask the full answer, just a hint in the right direction, so I can figure out what to do

*I have two computed fields, 1) to not display the full month, but only for example: 5 may. 2) to have the timestamp in the database without a year, to put in a calendar - otherwise I have to go back 50 years in my calender to find the birthday from date 1959(!!). The timestamp is created correctly, but I cant display this timestamp within a calendar, so I am stuck

Comments

marcvangend’s picture

Did you use the Date module (http://drupal.org/project/date) to create the date field in the content type? If not, I hightly recommend it. Without a doubt, you should use the Views module (http://drupal.org/project/views) to create the list. Possibly you don't even need the computed fields, because Views and the Date API have some nice features to handle dates and repeating events.

Cornell Jake’s picture

Yes I use both the Date and Views module.
Does the Date API have features to handle repeating events? I think that I was looking for that.

Many thanks, I should check it out, and post what I get!

marcvangend’s picture

There is a module in the Date packages called Date Repeat API.

Cornell Jake’s picture

I have tested the Date Repeat API (dev version for D6) I know what it does, but I dont want it such way.
I want the admin only have to give one date for the birthday, the rest is doing automatically.

So are there other nicer solutions?

marcvangend’s picture

You can probably do a lot with a little custom programming, but I don't know exactly how. Maybe you can open a support request issue for Views and ask what would be the best method.

mm167’s picture

Hi Jake,

how about adding 2 compute fields in your input form ..

1 mm = month part of the birthday (i.e 1,2,..12)
2. dd = day part of the birthday (i.e. 1,2 ..31)

* u may hide the fields if u like

then u may use the mm field for views filter and show dd in your list with the name.

** as u will not show the year in the list, why u show the mm part? show dd and name will be OK.

May
-----
1 John
5 Mary
10 David

good day.

Cornell Jake’s picture

Thanks a lot, but probably you missed the point that I want to scroll thought the months. (see the example picture in the first post)

I have now already two computed fields, one makes from the entered date for example the following : '5 may'
The other computed field does create a timestamp, for example: '6542433462' (i was hoping that I could use the timestamp directly in the date browser, but no way)

Your suggestions are very clear, but that is unfortunately not what I want.

So do you have other suggestions?

mm167’s picture

I will store 3 fields (besides of name)

1. date = birthday
2. mm = month part - compute from birthday
3. dd = day part - compute from birthday

scroll though the months may be done by ajax or callback with a month as input parameter.

.../birthdaylist/5 will show u the birthday list of May.

prev is the link /birthdaylist/4
next is the link /birthdaylist/6

I still dont understand why u need to repeat the "May" inside your list

May
-----
1 May David
5 May John
10 May Jason

why Not

May
-----
1 David
5 John
10 Jason

BUT, any way..up to u ...good night

Cornell Jake’s picture

Many thanks for your comment! But what you describe is not to use the date browser, that is very interesting!

Some questions left:
1)So I am not a views expert, but how to accomplish the prev en next link? Do I have to create a template for it? - if answer is yes, I should think out how to do it, there is many documentation out here that I could check.
2) The /birthdaylist/4 is an argument in the Views configuration panel?
3) And how do you populate the prev en next link? - put the month that is currently displayed, say 5, in the url as a GET, and then in the template I do: $_GET[birthdaylist]-1 (or something) for prev and +1 for next?
4) If I create a new module, how can they interact with an existing view?

Hope that you are willing to take a short look at my questions. So far many thanks!

Edit: as for your last notes, indeed it could be done as you describe, but repeating the month - if needed - is not a very hard task I think.

sechsgott’s picture

How can I compute the month and the day from birthday and show/store in a CCK-computed field?

Unfortunately I'm not the godfather of PHP /-:

Kind regards!

Cornell Jake’s picture

Use the following modules:
CCK
Views
Computed field

I use this code to compute a custom date: (add this code in the 'Computed code' section of your computed field)

$sDate = $node->field_date_verjaardag['0']['value'];

$sOutput = format_date(strtotime($sDate), 'custom', 'j M');

$node_field['0']['value'] = $sOutput;

Good luck

PS: better not to hijack my topic! :-)

Cornell Jake’s picture

Sorry for bumping again, but can someone look at my questions, in this topic of course: http://drupal.org/node/456018#comment-1566424

Thanks!

Cornell Jake’s picture

Anyone have some tips how to get it worked out as mm167 describes: http://drupal.org/node/456018#comment-1563038 ?
(I have the computed fields, I cannot create the output with next and previous links and the monthly list)

Cornell Jake’s picture

Come on guys, I know that here are people that are familiar with this stuff.
Nobody know how to create such a custom list with:
1 Title field and 2 computed fields?
With previous and next links to go to the next or previous month.

Thanks in advance, because I am stuck how to build this up, as described earlier.

marcvangend’s picture

I'm sorry, but I'm afraid that bumping this thread over and over again will not get you closer to a solution. Maybe http://drupal.org/forum-posting has some good tips for you.

cisana’s picture

See the result here: http://web.cisana.net/birthday_calendar (Note: there are only birthdays for the month May).
You need the calendar + views modules and a content type with three additional fields: first_name, birthday (probably already defined) and ‘anniversary’ with the current date for the calendar. If you like it I will post how to do it.