Hallo Andreas,
erst einmal vielen Dank für Deine Antwort. Ich habe die Fehlermeldung nicht für so wichtig gehalten, da ich wahrscheinlich schon einen falschen Ansatz gewählt habe, wie ich mir die Daten zu dem Fremdschlüssel im Template anzeigen lassen kann. Daher meine Frage nach einem Denkanstoß. Vielleicht noch einmal etwas übersichtlicher:
- Modul erweitert die Tabelle "tl_calendar_events" um ein paar Felder
- 1 Feld enthält einen Fremdschlüssel
- neues Template beruht auf "event_list":
PHP-Code:
<?php print_r($this->team);?>
<div class="event<?php echo $this->class; ?>">
<tr>
<td><?php echo $this->date; ?></td>
<td><?php echo $this->veranstalter;?></td>
<td><?php echo $this->title; ?></td>
<td><?php echo $this->teamid1; ?>
<?php if($this->teamid2):?><br /><?php echo $this->teamid2;?><?php endif;?>
<?php if($this->teamid3):?><br /><?php echo $this->teamid3;?><?php endif;?>
</td>
<td><?php if($this->info):?><a href="<?php echo $this->info;?>" target="_blank"><?php echo $this->info; ?></a><?php endif;?></td>
</tr>
</div>
- Zu dem neuen Template muss es eine Klasse für das Frontend geben, damit die weitere Datenbanktabelle (Team) für Fremdschlüssel ausgelesen werden kann, und hier hakt es bei mir:
PHP-Code:
class ModuleBiCalendar extends [B]Events (oder ModuleEventlist oder..?)[/B]
- muss in diese Klasse der Code aus ModuleEventlist kopiert werden plus mein Code zum Auslesen des Teams, wie ich das bisher in anderen Modulen gemacht habe:
PHP-Code:
protected function compile()
{
$objTeam = array();
$objTeam = $this->Database->execute("SELECT id, title, lastname, firstname FROM tl_biteam ORDER BY sorting")->fetchAllAssoc();
$this->Template->team = $objTeam;
}
- füge ich den Code aus ModuleEventlist ein, erhalte ich - wie schon geschrieben- die SQL-Fehlermeldung:
Code:
Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 (SELECT id, protected, groups FROM tl_calendar WHERE id IN()) thrown in /srv/www/web71/html/kunden/bielefelder-institut/system/libraries/Database.php on line 533
#0 /srv/www/web71/html/kunden/bielefelder-institut/system/libraries/Database.php(162): Database_Statement->execute()
#1 /srv/www/web71/html/kunden/bielefelder-institut/system/modules/calendar/Events.php(73): Database->execute('SELECT id, prot...')
#2 /srv/www/web71/html/kunden/bielefelder-institut/system/modules/calendarFreeEntry/ModuleBiCalendar.php(74): Events->sortOutProtected(Array)
#3 /srv/www/web71/html/kunden/bielefelder-institut/system/modules/frontend/ContentModule.php(70): ModuleBiCalendar->generate()
#4 /srv/www/web71/html/kunden/bielefelder-institut/system/libraries/Controller.php(363): ContentModule->generate()
#5 /srv/www/web71/html/kunden/bielefelder-institut/system/modules/frontend/ModuleArticle.php(169): Controller->getContentElement('336')
#6 /srv/www/web71/html/kunden/bielefelder-institut/system/modules/frontend/Module.php(126): ModuleArticle->compile()
#7 /srv/www/web71/html/kunden/bielefelder-institut/system/modules/frontend/ModuleArticle.php(69): Module->generate()
#8 /srv/www/web71/html/kunden/bielefelder-institut/system/libraries/Controller.php(296): ModuleArticle->generate(false)
#9 /srv/www/web71/html/kunden/bielefelder-institut/system/libraries/Controller.php(183): Controller->getArticle('49', false, false, 'main')
#10 /srv/www/web71/html/kunden/bielefelder-institut/system/modules/frontend/PageRegular.php(68): Controller->getFrontendModule('0', 'main')
#11 /srv/www/web71/html/kunden/bielefelder-institut/index.php(188): PageRegular->generate(Object(DB_Mysql_Result))
#12 /srv/www/web71/html/kunden/bielefelder-institut/index.php(292): Index->run()
#13 {main}
Ich freue mich wirklich über jede Anregung! Vielen Dank!
Grüße, Petra
Lesezeichen