[TYPO3-german] [TYPO3-calendar] Re: PHP-Fehler Cal 1.3.3 und RealUrl 1.9.4
Jan Bartels
j.bartels at arcor.de
Mon Sep 6 23:12:10 CEST 2010
> Es scheint eine von den Cal-Machern schon bestätigte Inkompatibilität
> zwischen RealUrl 1.9.4 und CalendarBase 1.3.3 zu sein. Mal schauen, wie
> sich das weiter entwickelt.
Bisher gab es beim Kalender mit RealURL (vor 1.9) ja häufig mehrere
unmittelbar aufeinanderfolgende Slashes. Das ist mit der neuen RealURL
geändert: leere Parameter werden automatisch unterdrückt. Dadurch
funktioniert die Zuordnung der Parameter nicht mehr richtig. Es hilft,
die Parameter explizit mit Keywords zu benamen:
'calview'=> array(
array(
'GETvar' => 'tx_cal_controller[view]'
),
),
'calgetdate'=> array(
array(
'GETvar' => 'tx_cal_controller[getdate]'
),
),...
Das ergibt zwar recht lange URLs, aber sie sind immerhin noch
einigermaßen lesbar. Rein optisch stört tx_cal_controller[lastview]
sehr. Da ist es evtl. sinnvoll, das zu einer Session-Variablen zu
machen, sofern das geht. Das habe ich nicht geprüft.
Real-URL-Beispielkonfiguration siehe unten.
Bei tx_cal_controller[type] habe ich eine valueMap vorgesehen, um die
unschönen "tx_cal_xxx" in der URL loszuwerden:
'caltype'=> array(
array(
'GETvar' => 'tx_cal_controller[type]',
'valueMap' => array(
'ical' => 'tx_cal_phpicalendar',
'todo' => 'tx_cal_todo',
'nearby' => 'tx_cal_nearby',
...
Diese Liste ist nicht vollständig. Ich bin mir auch nicht sicher, ob ich
die Typen überhaupt korrekt ausgeguckt habe. Da müssen vermutlich alle
Service-Keys aufgeführt werden. Meine wenigen Testfälle werden zumindest
erfaßt (es sind aber nicht alle Einträge gestestet!). FE-Editing nutzen
wir derzeit nicht (ist also noch nachzutragen).
Direkt hinter dem type-Parameter folgen die "Übersetzungen" der
jeweiligen tx_cal_controller[uid] mit der bekannten
prevValueInList-Bedingung ohne weiteres Keyword.
Vielleicht gelingt es mit diesem Ansatz, hier in der NG eine halbwegs
vollständige RealURL-Konfiguration zusammenzutragen. Mir fehlen dazu die
notwendigen Testszenarien. Der Rest dürfte aber nur noch reine
Fleißarbeit sein. Ergänzungen/Korrekturen sind willkommen.
Ich habe auf meinem Testsystem übrigens cal-1_4_0-dev-r2881 und RealURL
1.9.4 installiert.
fup2 typo3.projects.calendar
Gruß,
Jan
-----------------------------------
Vorlage für die realurl.conf-Sektion:
'calview'=> array(
array(
'GETvar' => 'tx_cal_controller[view]'
),
),
'calgetdate'=> array(
array(
'GETvar' => 'tx_cal_controller[getdate]'
),
),
'calbrowse'=> array(
array(
'GETvar' => 'tx_cal_controller[offset]'
),
),
'callastview'=> array(
array(
'GETvar' => 'tx_cal_controller[lastview]'
),
),
'caldatum'=> array(
array(
'GETvar' => 'tx_cal_controller[year]'
),
array(
'GETvar' => 'tx_cal_controller[month]'
),
array(
'GETvar' => 'tx_cal_controller[day]'
),
),
'caltype'=> array(
array(
'GETvar' => 'tx_cal_controller[type]',
'valueMap' => array(
'termin' => 'tx_cal_phpicalendar',
'todo' => 'tx_cal_todo',
'nearby' => 'tx_cal_nearby',
'partner' => 'tx_partner_main',
'organizer' => 'tx_cal_organizer',
'address' => 'tx_tt_address',
'user' => 'tx_feuser',
'ort' => 'tx_cal_location',
'attendee' => 'tx_cal_attendee',
'cal' => 'tx_cal_calendar',
'cat' => 'tx_cal_category',
/* Hier fehlen noch weitere Einträge ...*/
),
),
array(
'cond' => array (
'prevValueInList' => 'tx_cal_phpicalendar'
),
'GETvar' => 'tx_cal_controller[uid]',
'lookUpTable' => array(
'table' => 'tx_cal_event',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
array(
'cond' => array (
'prevValueInList' => 'tx_cal_location'
),
'GETvar' => 'tx_cal_controller[uid]',
'lookUpTable' => array(
'table' => 'tx_cal_location',
'id_field' => 'uid',
'alias_field' => 'name',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
array(
'cond' => array (
'prevValueInList' => 'tx_cal_organizer'
),
'GETvar' => 'tx_cal_controller[uid]',
'lookUpTable' => array(
'table' => 'tx_cal_organizer',
'id_field' => 'uid',
'alias_field' => 'name',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'calkat' => array(
array(
'GETvar' => 'tx_cal_controller[category]',
'lookUpTable' => array(
'table' => 'tx_cal_category',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
),
More information about the TYPO3-german
mailing list