[TYPO3-german] Seminar & Kalender

Kay Strobach typo3 at kay-strobach.de
Fri Dec 11 13:09:50 CET 2009


Am 11.12.2009 13:03, schrieb Peter Kuehnlein:
> Liebe Gruppe,
> einen schoenen Freitag zunaechst!
>
> Ich habe auf einer Installation sowohl die Seminar-Extension als auch
> die Kalender-Extension laufen (und die tun's beide auch). Nun haette ich
> gern, dass die angelegten Seminare automatisch im Kalender erscheinen.
> Hat jemand damit Erfahrung wie das zu tun ist? (Muss ja wohl ueber die
> Tabellen in der db gehen.)
>
> Herzlichen Dank & schoene Gruesse,
> Peter
>

Hallo Peter,

Bei abcourses geht es mit cal_ts_service from cal svn:

plugin.tx_cal_controller.pidList < plugin.tx_abcourses_pi1.pidList
plugin.tx_cal_controller {
     display {
         tx_abcourses_event {
             # @description    This is the heart of the connection SQL. 
It will be used in conjunction with
             #                the view-where (findallWithinWhere, 
findAll and findWhere) to retrieve the according records.
             event_select {
                 selectFields = 
tx_abcourses_event.*,tx_abcourses_event_course_mm.uid_foreign, 
tx_abcourses_course.*, 
(tx_abcourses_event.coursestart+tx_abcourses_event.firstdaytimestart) AS 
ts_start, 
(tx_abcourses_event.courseend+tx_abcourses_event.lastdaytimeend) AS ts_end
                 leftjoin     = tx_abcourses_event_course_mm ON 
(tx_abcourses_event.uid =tx_abcourses_event_course_mm.uid_local) JOIN 
tx_abcourses_course ON(tx_abcourses_event_course_mm.uid_foreign = 
tx_abcourses_course.uid)
             }

             # @description    This is the heart of the connection SQL. 
It will be used in conjunction with
             #                the view-where (findallWithinWhere, 
findAll and findWhere) to retrieve the according records plus their 
categories.
             event_select_with_cat {
                 selectFields = 
tx_abcourses_event.*,tx_abcourses_event_course_mm.uid_foreign, 
tx_abcourses_course.*, 
(tx_abcourses_event.coursestart+tx_abcourses_event.firstdaytimestart) AS 
ts_start, 
(tx_abcourses_event.courseend+tx_abcourses_event.lastdaytimeend) AS ts_end
                 leftjoin     = tx_abcourses_event_course_mm ON 
(tx_abcourses_event.uid = tx_abcourses_event_course_mm.uid_local) JOIN 
tx_abcourses_course ON (tx_abcourses_event_course_mm.uid_foreign = 
tx_abcourses_course.uid)
             }

             # @description    Configure the table the records come from.
             pidTable = tx_abcourses_event

             # @description    Define the where clause for the views: 
day, week, month, year, list, rss
             #                Use ###START### and ###END### as marker to 
be replaced during runtime with the timeframe
             findAllWithinWhere = 
((tx_abcourses_event.coursestart>=###START### AND 
tx_abcourses_event.coursestart<###END###) OR 
(tx_abcourses_event.courseend<###END### AND 
tx_abcourses_event.courseend>###START###)  OR 
(tx_abcourses_event.courseend>###END### AND 
tx_abcourses_event.coursestart<###START###))

             # @description    Define the where clause for the ? view.
             #                Use ###START### and ###END### as marker to 
be replaced during runtime with the timeframe
             findAll =

             # @description    Define the where clause for the single 
event views: event, ics
             #                Use ###START### and ###END### as marker to 
be replaced during runtime with the timeframe
             findWhere = tx_abcourses_event.uid = ###UID###

             # @description    Enable this to create a link to another 
page containing the single view of the external plugin.
             #                Use ###DB_FIELD### to retrieve record 
related informations from the database (DB_FIELD is a placeholder)
             externalPlugin = 1

             externalPlugin {

                 # @description    Define the pid for the external 
plugin single view
                 singleViewPid < plugin.tx_abcourses_pi1.pidCourseDetails

                 # @description    Array containing the url paramter to 
be added to the url
                 additionalParams = tx_abcourses_pi1[courseId]=###UID###
                 #additionalParams = tx_abcourses_pi1[eventId]=###COURSE###
             }

             # @description    Enables the localization and/or 
versioning of the result record
             enableLocalizationAndVersioning = 0;

             # @description    Define the field containing the timestamp 
for the start time
             startTimeField = ts_start

             # @description    Define the field containing the timestamp 
for the end time
             endTimeField   = ts_end

             # @description    If there is no end time, you can define a 
default length (in minutes)
             # defaultLength = 180

             # @description    For a quick and easy integration, map 
your record fields to the standard event fields
             #                You can always use ###DB_FIELD### (where 
DB_FIELD is a placeholder for a database row entry) to insert database 
values
             fieldMapping {
                 title       = title
                 description = subtitle
                 #location    =
                 #organizer   =
                 #image       =
             }

             # @description    The template to be used with these records
             template = EXT:cal_ts_service/template/ts.tmpl

             # @description    The header style class to be used
             #headerStyle = red_catheader

             # @description    The body style class to be used
             #bodyStyle = red_catbody

             # @description    The title in the legend description for 
these records
             legendDescription = Kurse

             search {
                 # @description    The fields, which are allowed to be 
searched through
                 searchEventFieldList = tx_abcourses_course.title
             }

             # @description    Define the SQL to retrieve the categories
             cat_select {
                 selectFields = 
tx_abcourses_categorie.*,tx_abcourses_course_categorie_mm.uid_local
                 leftjoin = tx_abcourses_course_categorie_mm ON 
(tx_abcourses_course_categorie_mm.uid_foreign = tx_abcourses_categorie.uid)
                 andWhere =
             }

             # @description    The table containing the category records
             catTable = tx_abcourses_categorie

             # @description    Retrieving and adopting the event 
configuration for the event view.
             event {
                 event < plugin.tx_cal_controller.view.event.event
                 event {
                     # @description    The default image path is related 
to the tx_cal_{object type}. Therefore the path has to be overwritten
                     image.overridePath = uploads/pics/
                 }
             }
         }
     }
}

Grüße
Kay


More information about the TYPO3-german mailing list