Hallo,
ich verwende julle_events zur Veranstaltungsanmeldung. Das funktioniert soweit auch ganz okay. Auf ein großes Problem bin ich nun gestoßen: Die Mehrsprachigkeit.
Ich habe die Unterseiten einer Veranstaltung übersetzt. Nun werden mir bei den Veranstaltungs-Unterseiten immer beide Texte (die deutschen und die englischen) untereinander angezeigt, egal was für eine Sprache auf der Website ausgewählt wurde. Ich denk mal, dass julle_events da irgendwie die Spracheinstellung beim auslesen der Inhaltsseiten nicht übergibt.
Hat jemand das Problem gelöst? Würde mich freuen, wenn jemand eine Idee hat, wie man das Problem lösen kann. Bin leider kein PHP-Crack, der da schnell selber was umcoden kann...
Gruß
David
Hallo,
mehrsprachigkeit bei Julle_event ist eingeschränkt möglich.
Dazu ein Tipp, der bei mir jedenfalls funktioniert:
in der Datei typo3/typo3conf/ext/julle_events/pi1/class.tx_julleevents_pi1.php muss in die Funktion getSubContent wie folgt geändert werden:
function getSubContent() {
if($this->sub =="reg") {
$feEdit = new tx_jullefeedit($this,"tx_julleevents_participants");
if($this->conf['excludeList']) {
$feEdit->exclude_field_list = $this->conf['excludeList'];
}
if(is_array($this->conf['defaultVals.'])) {
$feEdit->default_values = $this->conf['defaultVals.'];
}
$retVal = $feEdit->doTheMagic();
if(!is_array($retVal))
return $this->getFieldContent("regtext").$retVal;
else {
if($retVal["uid"]) {
$query= 'INSERT INTO tx_julleevents_events_participants_mm SET uid_local="'.$this->internal["currentRow"]["uid"].'",uid_foreign="'.$retVal["uid"].'"';
mysql(TYPO3_db,$query);
if (mysql_error()) debug(array(mysql_error(),$query));
if($this->internal["currentRow"]["notify_email"]) {
$msg[] = $this->pi_getLL("subj").$this->internal["currentRow"]["title"];
$msg[] = $this->pi_getLL("submvals");
foreach($retVal["submitted_values"] as $field => $val) {
$msg[] = $field.": ".$val;
}
$this->cObj->sendNotifyEmail(implode("\n",$msg), $this->internal["currentRow"]["notify_email"], "",$this->conf["sender-address"],$this->conf["sender-name"]);
}
return $this->pi_getLL("thank_you");
}
else {
return $this->pi_getLL("regError");;
}
}
}
if($this->sub =="part") {
$query = 'SELECT firstname,lastname,company FROM tx_julleevents_participants LEFT JOIN tx_julleevents_events_participants_mm ON uid=uid_foreign WHERE NOT deleted AND uid_local="'.$this->internal["currentRow"]["uid"].'"';
$res = mysql(TYPO3_db,$query);
if (mysql_error()) debug(array(mysql_error(),$query));
while($row = mysql_fetch_assoc($res)) {
$accu[] = htmlspecialchars($row["firstname"].' '.$row["lastname"].(trim($row["company"])?(' - '.$row["company"]):('')));
}
return '<p>'.implode('<br />',$accu).'</p>';
}
if($this->sub) {
$conf["table"] = "tt_content";
$conf["select."]["pidInList"] = $this->sub;
/******************************************
* Neuer Code Begin
******************************************/
if(isset($this->cObj->data['sys_language_uid']) and intval($this->cObj->data['sys_language_uid'])) {
$conf["select."]["where"] = "sys_language_uid = " . $this->cObj->data["sys_language_uid"];
}
else {
$conf["select."]["where"] = "sys_language_uid = 0";
}
/******************************************
* Neuer Code End
******************************************/
$conf["select."]["orderBy"] = "sorting";
return $this->cObj->CONTENT($conf);
}
}