Hallo zusammen,
ich schreibe gerade eine Erweiterung. Hierzu habe ich - ganz klassisch - ein Frontend-Modul definiert.
Das Modul ist dabei ganz schlank gehalten:
PHP-Code:
class ModuleJobs extends Module
{
/**
* Template
* @var string
*/
protected $strTemplate = 'mod_joblist';
/**
* Generate module
*/
protected function compile()
{
}
}
Der Grund ist, dass die Daten über Ajax (ich verwende jQuery) dynamisch geladen werden sollen.
In dem Template 'mod_joblist' sind nun verschiedene Buttons vorhanden und beim Klick auf diese Buttons hole ich mir mit der $.ajax-Methode Daten.
Die Daten kommen aus einer php-Datei, mit folgendem Aufbau:
PHP-Code:
<?php
// Disable all error reporting
error_reporting(0);
// Set the character set in order to have umlaute in the MySQL result
header ('Content-type: text/html; charset=utf-8');
// Contao configuration
define('TL_MODE', 'FE');
require('./../../../../system/initialize.php');
class ModuleGetJobs extends Controller
{
/**
* Constructor of this class.
*/
public function __construct()
{
parent::__construct();
}
/**
* This function connects to the database, executes the necessary
* MySQL query and sends the result via mail to all configured
* recipient.
*/
public function run()
{
// Hier steht die Logik zum Holen der Daten
}
}
Das Problem ist nun, wenn die Zeile require('./../../../../system/initialize.php'); vorhanden ist, werde ich immer zur URL domain.de/contao/index.php weitergeleitet. Kommentiere ich die Zeile aus, passiert dies nicht, jedoch kann ich die Logik auch nicht abarbeiten, weil mir Module fehlen.
Hat jemand eine Idee, was da falsch läuft? Ich verstehe es gerade überhaupt nicht.
Macht man Ajax-Requests überhaupt so? Oder geht das total an der contao-Philosophie vorbei?
Danke schonmal im voraus.
alt-mich
Lesezeichen