DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
EXT: Readable name of your extension¶
Author: | Kasper Skårhøj |
---|---|
Created: | 2002-11-01T00:32:00 |
Changed by: | Thomas Dudzak |
Changed: | 2012-10-29T23:59:00.730000000 |
Classification: | extensionkey |
Description: | The keywords help with categorizing and tagging of the manuals. You can combine two or more keywords and add additional keywords yourself. Please use at least one keyword from both lists. If your manual is NOT in english, see next tab "language" ---- forEditors (use this for editors / german "Redakteure") forAdmins (use this for Administrators) forDevelopers (use this for Developers) forBeginners (manuals covering TYPO3 basics) forIntermediates (manuals going into more depth) forAdvanced (covering the most advanced TYPO3 topics) see more: http://wiki.typo3.org/doc_template#tags ---- |
Keywords: | keywords comma-separated |
Author: | Author Name |
Email: | your@email.com |
Info 4: | |
Language: | en |
EXT TD Calendar- td_calendar
TD Calendar¶
Extension Key: td_calendar
Language: en
Keywords: calendar, frontend, extension
Copyright 2012, Thomas Dudzak, <thomas.dudzak@gmx.net>
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
The content of this document is related to TYPO3
- a GNU/GPL CMS/Framework available from www.typo3.org
Table of Contents¶
`Introduction 3 <#1.1.Introduction|outline>`_
`Users manual 5 <#1.2.Users%20manual|outline>`_
Overview of calendar records 7
`Administration 11 <#1.3.Administration|outline>`_
`Configuration 12 <#1.4.Configuration|outline>`_
`ToDo 16 <#1.5.ToDo|outline>`_
`Changelog 17 <#1.6.Changelog|outline>`_
Introduction¶
What does it do?¶
A Calendar extension with month, week and dayview as well as an upcoming events view in list style. Supports selections by category and recurring events. Also supports exception events to accent parts of the calendar view an/or hide recurring events on special days like holidays. Supports multiple views on the same page and caching. Tooltips are based on jQuery. T3jqery is supported.
This extension is based on the outdated jw_calendar extension of Jens Witt. Because it was removed from TER by the TYPO3-Security Team, the calendar extension was fully rebuild to solve security problems. That's, why I'm proud to say, that it is possible to transfer old jw_calendar entries to this extensions. But because it's an ALPHA- Version, there is not the full line-up of functions of jw_calendar, yet. Some of them will definitely not return, some will be inserted in future versions. Today it's fully deployable for use in frontend view with backend adminstration. Frontend editing will be supported in version ALPHA 0.2.0. Also .ics and rss export such as .ics import is planned in upcoming versions.
Screenshots¶
Month view of td_calendar: shows the standard template with some test events and exception events
Single view of td_calendar: shows single view in standard template
Users manual¶
After installation the extension should be fully functional in standard mode. Before you can start to create event entries, you have to create at least one category, because category selection is required for events.
Installation¶
Install the extension with the extension manager. The extension manager creates the new database tables and fields for td_calendar. That's it.
Quick Start¶
This section will give you a short overview about the basic setup requirements for td_calendar to work. For more detailed informations you can have a look in the sections “Configuration” and “Administration” in this manual.
Include static extension template
You should than integrate the static template to your page template record. td_calendar also works without it, but it brings all the stuff as jQuery support, CSS-Configuartion and standard template.
Creating requiered pages (best practice):
Normally you want to display a new calendar on a new page. Therefore you have to create in minimal two (better three) new pages: The first one as a sysfolder for your calendar records, the second one for a record overview as month view or week view and the last one for single view. If you want to show single view on same page, please make sure, that you have selected “Do not show error, if no UID is given” and “Single view on same page as other views” is activated in configuration (See also: Configuration/Reference → Single view).
Creating a “TD Calendar” content element:
For a useful integration of td_calendar you have to create in mimimum two content elements of the type “TD Calendar”: One for overview and one for single view. To create a new content element, cahnge to the web-module “Site”, change to the page, where you want to create the overview and click on the “create new content element” link:
The “New content element” wizard opens. There you will find the icon called “TD Calendar”. Select it and choose the position (column) of the new content element:
Select the Tab “Plugin” in the new form that will shown up. That should look like that by default:
You should select an item from the "What to display" field. If you don't do this, there's a double backfall: one to typoscript, the second hardcoded. Hardcoded standard is month view, also the default TS-Setup. To select an item, click on its name in the right list. (For the first test choose “Month” and leave the other settings at their defaults)
The “Site(s) with calendar records” is the page/sysfolder, where the extension looks for calendar records. It is not required to set this value in this field, you can also define it with TypoScript for the whole page. (Also see: section “Configuration/Reference” in this manual -> pidList).
“Site of Single view” is your single view page, you have created. Select this page or leave it free, if you have set the single pid by TS. Save & Close the form for the calendar content-element, change to the you site, where you ant to create your single view and repeat the whole thing, but instead of “Month”, you have to select the “Singleview” item from the "What to display" field. That's it. The calendar is now configured for your testing.
Creating the first calendar database records
To test the functionality of the extension you'll also need at least two calendar records, one category and one event. First change to the Web-module “List”, change to your Sysfolder for calendar records and click on the "create new record" link.
In the wizard you should see the following record types for td_calendar: Event, Category, location, Organizer, Exception event and Exception event category.
First select “Category”. The new form wizard opens up and you have to fill in title as minimal. Save & close and click “create new record” again. Now you have to choose record type “Event”. The new wizard looks like that:
Choose the category, the datetime of begin and a title as minimal and click save & close. The calendar record should now visible in the frontend. If this is not the case, check, if the “hidden” field is activated or repeat the steps above.
Overview of calendar records¶
Of course td_calendar does not ends up with events and categories. There is really much more to do. There are several other record types for you. A complete list with a description of record fields you will find below.
Category
Calendar categories are requiered for events. You have to set minimal one to show up events in the frontend. Every event has exact one category to be choosen.
Title¶
Record field
Title
Description
Category title (requiered)
Color¶
Record field
Color
Description
Category color each event will be marked with
Comment¶
Record field
Comment
Description
Category comment, only shown for editors
Access¶
Record field
Access
Description
Not supported yet
Event
The event record is the main record type of the calendar extension. You can create “normal” events and even recurring events like daily, weekly, monthly and yearly events. For recurring Events you can set an interval, a Endtime (“until”)or a number of repeats.
Attention: Of Course, the field “End” is the endtime PER CASE. If it is an recurring event, “End” means the end of each case of recurrence, not of the entry at all. To stop recurrence, you should use the field “Event repeats until”. While the field “Event repeats X times” also works well, you should avoid it or use it only in exceptional case because of future performance of the script. If you have thousands of records with a begin date but not a stop, it will always be choosen from database and checked, if it is still actual. Not that funny.
Attention: If you have a recurring event and you set recurrence by “Event repeats X times” and also select exception events, the recurrence will also be counted, if a event is hidden by an exception event on one day. This is necessary because it's not possible to logical define, what happens with unusual events.
Category¶
Record field
Category
Description
Category of event (requiered)
Event type¶
Record field
Event type
Description
Type of current event (see below)
Begin¶
Record field
Begin
Description
Begin of event (requiered)
End¶
Record field
End
Description
End of event, in recurring events it is the end datetime of EACH event (can be left blank)
All day event¶
Record field
All day event
Description
If the event is an all day event, you can select this here instead of setting end value to the end of the day (overwrites begin and end time)
Title¶
Record field
Title
Description
Event Title (requiered)
Description¶
Record field
Description
Description
Event description. You can use the RTE
Location¶
Record field
Location
Description
Event location, if no location is selected from list
Location from list¶
Record field
Location from list
Description
Event location from list, overwrites “Location”
Organizer¶
Record field
Organizer
Description
Event organizer, if no organizer is selected from list
Organizer from list¶
Record field
Organizer from list
Description
Event organizer from list, overwrites “Organizer”
Image¶
Record field
Image
Description
select one or more images for event
Alt-Text¶
Record field
Alt-Text
Description
Alt-text of image, on line per image
Image title¶
Record field
Image title
Description
Image title, on line per image
Link¶
Record field
Link
Description
Possible link to Homepage, internal or external site
Direct link¶
Record field
Direct link
Description
Sets a direct link in every view instead of a link to single view
Start¶
Record field
Start
Description
Starttime to show event in frontend view
End¶
Record field
End
Description
Endtime to show event in frontend view
Access¶
Record field
Access
Description
Not supported yet
Exception Events¶
Record field
Exception Events
Description
Recurring Event will not be shown on days with selected Exception Events
Exception Events Category¶
Record field
Exception Events Category
Description
Recurring Event will not be shown on days with Exception Events of selected category
Event repeats X times¶
Record field
Event repeats X times
Description
Number of intervals all in all the event repeats. Also days are counted the event is not shown because of an selected exception event. But you should better use “Event repeats until:” at all to avoid performance problems in future.
Event repeats until¶
Record field
Event repeats until
Description
Daytime, the recurring of the event stops. It is prioritized over “Event repats X times”
Events repeats every X days/ weeks/ months/ years¶
Record field
Events repeats every X days/ weeks/ months/ years
Description
Repeat interval of recurring event. For example: set to 3, a weekly recurring event is repeated every three weeks.
Repeat on these days of week¶
Record field
Repeat on these days of week
Description
Only for weekly recurring events: You can choose the days of week, a weekly recurring event happens. You can choose “on weekdays”, “on days of weekend” or, by default, “on these days” where you can choose a user defined number of days from monday to sunday. The Event's shown on selected days. Attention: Every day, you've selected, is part of one and the same repeat interval, so selecting 2 days and setting the repeat time on 2 will show two events in both weeks. If you – for example - set the beginning of an event on a wednesday and choose also the monday to be shown, in the first week the monday will not be shown. But if you have set repeat times, the monday will be shown seperatly as last event recurration!
Location
There are two ways to assign an event location to an event. The first is simply to fill the field “location” in an event record. The second is to select a location record, which you previously wrote to database. You can assign various informations to a location record.
Location¶
Record field
Location
Description
The Location title (requiered)
Description¶
Record field
Description
Description
Location Description
Advanced contact information¶
Record field
Advanced contact information
Description
Advanced contact information for the location
Street¶
Record field
Street
Description
Street of the Location
ZIP¶
Record field
ZIP
Description
Postal Zip
City¶
Record field
City
Description
City of Location
Phone¶
Record field
Phone
Description
Phone number
E-mail¶
Record field
Description
e-mail address
Image¶
Record field
Image
Description
select one or more images for location
Alt-Text¶
Record field
Alt-Text
Description
Alt-text of image, on line per image
Image title¶
Record field
Image title
Description
Image title, on line per image
Link¶
Record field
Link
Description
Possible link to Homepage, internal or external site
Organizer
Equal to the location record behaviour, you can also store organizer informations in database.
Organizer¶
Record field
Organizer
Description
The organizer title (requiered)
Description¶
Record field
Description
Description
organizer Description
Advanced contact information¶
Record field
Advanced contact information
Description
Advanced contact information for the organizer
Street¶
Record field
Street
Description
Street of the organizer
ZIP¶
Record field
ZIP
Description
Postal Zip
City¶
Record field
City
Description
City of organizer
Phone¶
Record field
Phone
Description
Phone number
E-mail¶
Record field
Description
e-mail address
Tab “Media”¶
Record field
Tab “Media”
Description
Image¶
Record field
Image
Description
select one or more images for organizer
Image caption¶
Record field
Image caption
Description
Image caption, on line per image
Alt-Text¶
Record field
Alt-Text
Description
Alt-text of image, on line per image
Image title¶
Record field
Image title
Description
Image title, on line per image
Link¶
Record field
Link
Description
Possible link to Homepage, internal or external site
Exception Events
Exception events are special events like holidays, easter, christmas and so on. They will not be shown as “normal” event records but specially highlighted in frontend view. If you assign an exception event to a recurring event record, the recurring event will not be displayed on the corresponding day. Each exception event has to have a exception event category.
Title¶
Record field
Title
Description
Title (requiered)
Begin¶
Record field
Begin
Description
Begin of Exception event (requiered)
End¶
Record field
End
Description
End of exception event (if not set, the event will end on same day)
Category¶
Record field
Category
Description
Exception events must have a group. (requiered)
For example:
The event “easter holidays” is part of the category “holidays”. Each Event is shown with it's title and – if you selected one – the exception event category color.
Priority¶
Record field
Priority
Description
If you have more than one exception event on one day you set priority for exception event order.
For Example:
There are events for Easter and easter holidays on the same day. If you think Easter is more important than holidays, you give Easter a higher priority the event is shown first and the day is shown the color of the Easter event
Exception Events Category
An exception event category is requiered for exception events. Categories are grouping exception events. You can also choose a highlight color for the grouped events.
Title¶
Record field
Title
Description
Title (requiered)
Color¶
Record field
Color
Description
Highlight color for the exception event category
Us as background color¶
Record field
Us as background color
Description
If selected, the highlight color is also used as background color for the day cells.
Administration¶
realUrl-Configuration¶
td_calendar supports realURL. At the moment there are no known problems. You can find two examples of real-URL-Configurations in this package at EXT:td_calendar/res/examples/realurl.example.txt
Configuration¶
References¶
plugin.tx_tdcalendar_pi1 properties: TS configuration. Configuration starts with this line
plugin.tx_tdcalendar_pi1 {
General Settings
jQueryRes¶
Property
jQueryRes
Data type
Resource
Description
The jQuery library. If you want to use your own resource, you can change it for example:
plugin.tx_tdcalendar_pi1 {
jQueryRes= fileadmin/myjs/jquery.js
}
If you've already included a jQuery resource or don't want to use it, you have to deactivate it:
plugin.tx_tdcalendar_pi1 {
jQueryRes >
}
Default
EXT:td_calendar/res/js/jquery-1.6.1.min.js
tooltipJSRes¶
Property
tooltipJSRes
Data type
Resource
Description
The jQuery tooltip script. If you want to change the script, make a copy to your fileadmin and ad dthis TS:
plugin.tx_tdcalendar_pi1 {
jQueryRes= fileadmin/myjs/td_tooltips.js
}
Default
EXT:td_calendar/res/js/td_tooltips.js
templateFile¶
Property
templateFile
Data type
Resource
Description
The HTML-Template file. If you want to change the template, make a copy to your fileadmin and add this TS:
plugin.tx_tdcalendar_pi1 {
templateFile= fileadmin/my_template/td_calendar.tmpl
}
Default
EXT:td_calendar/res/tmpl/td_calendar.tmpl
cssFile¶
Property
cssFile
Data type
Resource
Description
The CSS-Style resource. If you want to change the style, make a copy to your fileadmin and add this TS:
plugin.tx_tdcalendar_pi1 {
templateFile= fileadmin/my_style/td_calendar.css
}
Default
EXT:td_calendar/res/tmpl/td_calendar.css
view¶
Property
view
Data type
String
Description
The view mode of the content element, default set to month. Also possible is week, day, list or single:
Example:
# view mode is day
plugin.tx_tdcalendar_pi1 {
view= day
}
Default
month
pidList¶
Property
pidList
Data type
String
Description
The page id (pid), or list of pids of the folder(s), where your records are stored in (also known as “Starting point”). If this value is not set, and the “Starting point” field in the news content-element is also empty, the current page is used.Accepts multiple pids comma separated!
Example:
# clear the value
plugin.tx_tdcalendar_pi1.pidList >
# display calendar records located in page 582 & 584
plugin.tx_tdcalendar_pi1.pidList = 582,584
Default
0
recursive¶
Property
recursive
Data type
Int / stdWrap
Description
If this is given, the “pidList” is extended by the number of recursive levels.
Example:
plugin.tx_tdcalendar_pi1.recursive = 3
Default
PIDeventDisplay¶
Property
PIDeventDisplay
Data type
Int
Description
Page id of the page where single calendar records are displayed.
Here you can define a page to be used for display of a news item with the “SINGLE” template-part. This setting can also be done in the constant editor.
Example:
# PIDeventDisplay for a calendar element inserted by TS
plugin.tx_tdcalendar_pi1.singlePid = 590
Default
0
categoryMode¶
Property
categoryMode
Data type
Int
Description
The category mode:
0 is ignore selection
1 is only show selected
-1 is hide selected
Example:
# show selected categories
plugin.tx_tdcalendar_pi1 {
categoryMode= 1
}
Default
0
hideExcEvents¶
Property
hideExcEvents
Data type
Boolean
Description
Hide exception events to be shown in frontend view
Default
0
showEventBegin¶
Property
showEventBegin
Data type
Boolean
Description
Show begin time of an event in event title
Default
0
hideCategorySelection¶
Property
hideCategorySelection
Data type
Boolean
Description
Disables category selection in frontend
Default
0
showTooltips¶
Property
showTooltips
Data type
Boolean
Description
Show tooltips in month, week, day and upcoming list view
Default
1
showTooltipImage¶
Property
showTooltipImage
Data type
Boolean
Description
Show first related image in tooltips
Default
1
showMultiDayOnlyOnce¶
Property
showMultiDayOnlyOnce
Data type
Boolean
Description
Events lasting longer than one day will only be shown once in frontend view
Default
0
forceSamePageFunc¶
Property
forceSamePageFunc
Data type
Boolean
Description
Force the dissemination of all variables to allow multiple content elements on a page.
Default
0
viewTitleWrap¶
Property
viewTitleWrap
Data type
-> wrap
Description
Wrap of viewtitle marker
Default
|
titleWrap¶
Property
titleWrap
Data type
-> wrap
Description
Wrap of title marker
Default
|
descWrap¶
Property
descWrap
Data type
-> wrap
Description
Wrap of description marker
Default
<p class="desc"> | </p>
itemLinkWrap¶
Property
itemLinkWrap
Data type
-> wrap
Description
Wrap of itemlink marker
Default
<p class="itemlink"> | </p>
labelWrap¶
Property
labelWrap
Data type
-> wrap
Description
Wrap of all label markers
Default
<div class="label"> | :</div>
imageWrap¶
Property
imageWrap
Data type
-> wrap
Description
Wrap of image markers
Default
<div class ="tdcalendar-imagewrap> | </div>
imageMode¶
Property
imageMode
Data type
string
Description
Mode of image rendering. Possible is esize2max, crop and resize.
Default
resize2max
image¶
Property
image
Data type
->imgResource
->stdWrap
Description
Configurates the image(s) in news items.
Example:
plugin.tx_tdcalendar_pi1.single.image {
file.maxW = 120
file.maxH = 90
imageLinkWrap = 1
stdWrap.spaceAfter = 5
}
see: TSref->imgResource
Default
-> see setup.txt
croppingLenght¶
Property
croppingLenght
Data type
String
Description
Cropping value for teaser length
Default
100 |...| true
Month view Settings
plugin.tx_tdcalendar_pi1.monthView properties: TS configuration. Configuration starts with this line
plugin.tx_tdcalendar_pi1.month {
miniCalendar¶
Property
miniCalendar
Data type
Boolean
Description
Month view as mini calendar. Shows calendar without day events but with linked day numbers
Default
0
PIDdayDisplay¶
Property
PIDdayDisplay
Data type
Int
Description
PID of day view for mini calendar
Default
0
showWeeksAsRows¶
Property
showWeeksAsRows
Data type
Boolean
Description
Shows weeks as rows, e.g. is cols
Default
0
onlyDaysofMonth¶
Property
onlyDaysofMonth
Data type
Boolean
Description
Shows only days of month and hide previous or future events in monthview
Default
0
dayFormat¶
Property
dayFormat
Data type
String
Description
Day format of single day numbers
Default
%d
maxDaynameLength¶
Property
maxDaynameLength
Data type
Int
Description
Maximal length of daynames
Default
2
showWeeksDisabled¶
Property
showWeeksDisabled
Data type
Boolean
Description
Hides the week labels in monthview
Default
0
wrapItemCatLen¶
Property
wrapItemCatLen
Data type
Int
Description
Crops the category title after X letters
Default
8
Week view Settings
plugin.tx_tdcalendar_pi1.weekView properties: TS configuration. Configuration starts with this line
plugin.tx_tdcalendar_pi1.weekView {
startHour¶
Property
startHour
Data type
Int
Description
Start hour of view
Default
0
endHour¶
Property
endHour
Data type
Int
Description
End Hour of view
Default
24
showAsList¶
Property
showAsList
Data type
Boolean
Description
Shows weekview as list (without hour table)
Default
0
Day view Settings
plugin.tx_tdcalendar_pi1.dayView properties: TS configuration. Configuration starts with this line
plugin.tx_tdcalendar_pi1.dayView {
startHour¶
Property
startHour
Data type
Int
Description
Start hour of view
Default
0
endHour¶
Property
endHour
Data type
Int
Description
End Hour of view
Default
24
showAsList¶
Property
showAsList
Data type
Boolean
Description
Shows dayview as list (without hour table)
Default
0
additionalColumnAtEnd¶
Property
additionalColumnAtEnd
Data type
Boolean
Description
Adds an additional column at the End of the daytable for better clarity
Default
0
List view Settings
plugin.tx_tdcalendar_pi1.listView properties: TS configuration. Configuration starts with this line
plugin.tx_tdcalendar_pi1.listView {
listEntryCount¶
Property
listEntryCount
Data type
Int
Description
Limit of Entrys in Listview
Default
5
listStartTime¶
Property
listStartTime
Data type
Timestamp
Description
Start time of Listview. If Empty, it's current time
Default
PIDallEventsDisplay¶
Property
PIDallEventsDisplay
Data type
Int
Description
PID of site, where “All Events” - link should link to
Default
Single view Settings
plugin.tx_tdcalendar_pi1.singleView properties: TS configuration. Configuration starts with this line
plugin.tx_tdcalendar_pi1.singleView {
singleViewIsShy¶
Property
singleViewIsShy
Data type
Boolean
Description
Hides Error Messages, if no entries are found. You need to activate this, if you want to have overview and single view on same page.
Default
0
Because it is an Alpha Version, an initial release, I look forward to your response and your wishes for more TS configuration or other features.
ToDo¶
- Frontendediting
- Export (and import, but later) events as .ics and RSS
- enable more typoscript configuration
- code clean up
- template clean up
Changelog¶
0.2.6: [BUGFIX] exclude-fields in TCA-Array completed, TYPO3 6.0 compatibility [UPDATE] ###LOCATION### and ###ORGANIZER###-Marker in Tooltips and Upcoming-Event-View.
0.2.5: [UPDATE] Constants are now editable in constants editor, real- url-examples are now part of the package, updated manual, thanks to Holger Hinkerohe
0.2.4: [BUGFIX] days were not linked in mini calendar month view. thanks to mike sch for the bug report.
0.2.3: [BUGFIX] broken dayview after update
0.2.2: [BUGFIX] not existing variables were treated by array functions - not valid and performance killer
0.2.1: [BUGFIX] Updated manual, updated file referenz and php script documentation
0.2.0: First Release as ALPHA.
17