The code section of the widget is not where my mind jumps to when I think about code. Its a new thing to me, but yes that would be ok.
No, there are no controls, you'd have to setup some controls if you wanted the user to have the ability to change months.
The control would include changing the URL to include the desired month/year so that it could be picked up by the calendar.
when you have a url like this:
site.com/somewhere/animal=elephant/color=blue/weather=rain
what will happen is jamroom will look in the skin for a file called somewhere.tpl and display that. If that is not there but the Site Builder system is turned on and it has a page for 'somewhere', then that will be displayed.
Inside either of those locations the rest of the values from the url will be available to use.
So:
{$_post.animal} in your template code will display "
elephant" to the screen.
{$_post.color} in your template code will display "
blue" to the screen.
{$_post.weather} in your template code will display "
rain" to the screen.
Its this system that you would utilize to get the wanted date to show.
In your case you want to use /month=???/year=???? so the calendar can use them.
The easiest way to build some navigation is just to add a couple of links for next month and prev month:
<a href="{$jamroom_url}/somewhere/month=">next month</a>
<a href="{$jamroom_url}/somewhere/month=">next month</a>
Just need to figure out the correct month. Check out the smarty docs on how to format that:
"Smarty.Now formatting page"
http://www.smarty.net/docsv2/en/language.modifier.date.format
(no sense in making it completely copy+paste eh
)
There is this selector system in one of the templates too:
<select class="form_select" style="width: auto" name="calendar_month" id="calendar_month" onchange="var m=this.options[this.selectedIndex].value; jrCore_window_location('{$jamroom_url}/concerts/month='+ m +'/year={$year}')">
<option value="1" {if $month == "1"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="41" default="January"}</option>
<option value="2" {if $month == "2"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="42" default="February"}</option>
<option value="3" {if $month == "3"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="43" default="March"}</option>
<option value="4" {if $month == "4"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="44" default="April"}</option>
<option value="5" {if $month == "5"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="45" default="May"}</option>
<option value="6" {if $month == "6"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="46" default="June"}</option>
<option value="7" {if $month == "7"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="47" default="July"}</option>
<option value="8" {if $month == "8"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="48" default="August"}</option>
<option value="9" {if $month == "9"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="49" default="September"}</option>
<option value="10" {if $month == "10"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="50" default="October"}</option>
<option value="11" {if $month == "11"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="51" default="November"}</option>
<option value="12" {if $month == "12"}selected="selected"{/if}>{jrCore_lang module="jrEvent" id="52" default="December"}</option>
</select>