Event-Datum in Alias übrnehmen
Hallo,
vielleicht kann mir jemand helfen...? In der dcaconfig hatte folgender Code dafür gesorgt, dass den Event-Aliasen immer das Eventdatum mitgegeben wurde:
Code:
// Always prefix the event alias with the start date (yyyy-mm-dd-), unless it begins with a date already
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['alias']['save_callback'][] =
function($varValue, DataContainer $dc)
{
if (!empty($varValue) and $dc->activeRecord and !preg_match('/^\d{4}-\d{2}-\d{2}-/', $varValue)) {
$varValue = date('Y-m-d-', $dc->activeRecord->startDate) . $varValue;
}
return $varValue;
}
;
Das funktioniert zwar grundsätzlich immer noch, generiert aber das Datum 01.01.1970. Würde mir als Nichtprogrammierer jemand sagen, was ich ändern muss, damit das Startdatum des Events wieder übernommen wird?
Viele Grüße,
Anke
Datum im Alias bei kopiertem Event
Zitat:
Zitat von
Kahmoon
Sodale....habs gelöst...vermutlich quick & dirty aber es funzt :D
Code:
// Always suffix the event alias with the start date (-yyyy-mm-dd), unless it ends with a date already
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['alias']['save_callback'][] =
function($varValue, DataContainer $dc)
{
#Prüfen ob der Eintrag kopiert ist und startDate NULL ist
if(!empty($varValue) and is_null($dc->activeRecord->startDate)){
$varValue = $varValue . date('-d-m-Y', strtotime(\Contao\Input::post('startDate'))); }else{
}else{
#Fügt das Datum zum Alias wenn keins vorhanden ist
if (!empty($varValue) and $dc->activeRecord and !preg_match('/-\d{2}-\d{2}-\d{4}/', $varValue)) {
$varValue = $varValue . date('-d-m-Y', $dc->activeRecord->startDate);
}
}
return $varValue;
}
;
Ich möchte ebenfalls automatisch das Event-Datum im Alias haben und habe diese Lösung von Kahmoon ausprobiert (Beim obigen Code ist ein }else{ zu viel, das muss weg).
Beim Neuanlegen von Events funktioniert das auch soweit gut.
Wenn man jedoch ein Event kopiert und wieder einfügt, das den gleichen Titel, aber ein anderes Datum hat, dann bleibt der Alias beim Abspeichern auf dem alten Datum, so dass man für beide Events den gleichen Alias hat und daher die "alte" Event-Dateilseite auch beim "neuen" Event verlinkt wird.
Hat vielleicht bitte jemand einen Tipp für mich, wie ich den Save-Callback ändern muss, damit der Alias von kopierten Events mit dem neuen Datum generiert wird?