Welcome Guest, Not a member yet? Register   Sign In
creating a calender template
#1

[eluser]Sally D[/eluser]
my template is not being rendered it is not having any impact on the display of the calendar what the hell am I missing here.

I got a $prefs array

$prefs=array();

$prefs['template']='{table_open}<table border="1" cellpadding="0" cellspacing="0">{/
table_open}';

then in my constructor function in my main controller I am doing this loading my prefs array in to the template

$this->load->library('calendar', $prefs);

then I got my calender function in my controller which generates the calendar

function calendar()
{
$data=array("19"=>"http://localhost/");
echo $this->calendar->generate(2007,11,$data);
}


but I still can't put a border around my calender via setting the border property in my template to 1

why?

any help thanks!
#2

[eluser]gtech[/eluser]
havn't a clue without coding it in myself. One thing I can think of to try is to view the page source on the browser and see if the HTML looks like you think it should.. Might help you to debug the problem.

have you closed the table in the template and put in the tr and td tags?
#3

[eluser]sophistry[/eluser]
i believe that you have to define all calendar template curly-brackets. it looks like you only have {table_open}. you need the rest of them to allow the template parser in the calendar.php file to properly build the table for you.
#4

[eluser]Sally D[/eluser]
Hi sophisty and gtech thanks for the advice

I am running across a problem the only way I can manipulate the Calendar is if I go into the library folder and manually edit calender.php and change the default template

I believe the function is called default_template() and it returns a associative array containing all the pseudo name and value pairs of the templates variables

but why don't it get overridden when I do something like this when I create a new instance of the calender class

like this

$prefs['template'] = '
{table_open}<table border="1" cellpadding="0" cellspacing="0">{/
table_open}
{heading_row_start}<tr>{/heading_row_start}
{heading_previous_cell}<th><a href="{previous_url}">&lt;&lt;</
a></th>{/heading_previous_cell}
{heading_title_cell}<th colspan="{colspan}">{heading}</th>{/
heading_title_cell}
{heading_next_cell}<th><a href="{next_url}">&gt;&gt;</a></th>
{/heading_next_cell}
{heading_row_end}</tr>{/heading_row_end}
{week_row_start}<tr>{/week_row_start}
{week_day_cell}<td>{week_day}</td>{/week_day_cell}
{week_row_end}</tr>{/week_row_end}
{cal_row_start}<tr>{/cal_row_start}
{cal_cell_start}<td>{/cal_cell_start}
{cal_cell_content}<a href="{content}">{day}</a>{/
cal_cell_content}
{cal_cell_content_today}<div class="highlight"><a
href="{content}">{day}</a></div>{/cal_cell_content_today}
{cal_cell_no_content}{day}{/cal_cell_no_content}
{cal_cell_no_content_today}<div class="highlight">{day}</div>{/
cal_cell_no_content_today}
{cal_cell_blank}&nbsp;{/cal_cell_blank}
{cal_cell_end}</td>{/cal_cell_end}
{cal_row_end}</tr>{/cal_row_end}
{table_close}</table>{/table_close}
';
$this->load->library('calendar', $prefs);
echo $this->calendar->generate();


Please why does the default template continue to be used when I am overriding it with that am I missing something or do I have to edit calender.php to make changes in the display of the calender?

Thanks for your help I really do appreciate it alot
#5

[eluser]sophistry[/eluser]
the symptoms you are explaining could happen if you are loading another calendar class or a MY_calendar class. are you sure you are modifying the file you are using in the code?

another possibility is that think you are changing the template var but for one reason or another it is not changing - wrong scope, overwritten later, code never runs, etc...
#6

[eluser]Sally D[/eluser]
I came to the conclusion that the only way for me to solve this problem is if I can see some ones else's calender template and copy and paste the code and see if it works cause I am looping over the same ground and getting no where. Let me google something maybe there is cool tutorial about adding events to a codeigniter calendars

copy and paste and compare will help me find my answer I have an or clause as well can somebody copy can paste the above code into there template and see if it generates a calendar with a border if it does then I am going kookoo for cocoa puffs!
#7

[eluser]Sally D[/eluser]
OK I solved it

my problem was I copied the template from a pdf it had >>> extra brackets in it where &lt; should have been all that trouble over something so small


this is the correct template

{table_open}<table border="1" cellpadding="0" cellspacing="0">{/table_open}

{heading_row_start}<tr>{/heading_row_start}

{heading_previous_cell}<th><a href="{previous_url}">&lt;&lt;</a></th>{/heading_previous_cell}
{heading_title_cell}<th colspan="{colspan}">{heading}</th>{/heading_title_cell}
{heading_next_cell}<th><a href="{next_url}">&gt;&gt;</a></th>{/heading_next_cell}

{heading_row_end}</tr>{/heading_row_end}

{week_row_start}<tr>{/week_row_start}
{week_day_cell}<td>{week_day}</td>{/week_day_cell}
{week_row_end}</tr>{/week_row_end}

{cal_row_start}<tr>{/cal_row_start}
{cal_cell_start}<td>{/cal_cell_start}

{cal_cell_content}<a href="{content}">{day}</a>{/cal_cell_content}
{cal_cell_content_today}<div class="highlight"><a href="{content}">{day}</a></div>{/cal_cell_content_today}

{cal_cell_no_content}{day}{/cal_cell_no_content}
{cal_cell_no_content_today}<div class="highlight">{day}</div>{/cal_cell_no_content_today}

{cal_cell_blank}&nbsp;{/cal_cell_blank}

{cal_cell_end}</td>{/cal_cell_end}
{cal_row_end}</tr>{/cal_row_end}

{table_close}</table>{/table_close}


Sorry for the bother make sure the template is right next time
#8

[eluser]sophistry[/eluser]
i knew it was something like that. keep on truckin'!

EDIT: oh yeah, BTW... everything is "something so small" - keep your focus.




Theme © iAndrew 2016 - Forum software by © MyBB