config.php:
PHP-Code:
<?php if (!defined('TL_ROOT')) die('You cannot access this file directly!');
define(CACHE_AKTIV, false); // Cachestatus
define(CACHE_TIME, 36000); // Cachezeit
define(CACHE_DIR, TL_ROOT . '/system/cache/dewis/'); // Cacheverzeichnis festlegen
define(KARTEISPERRE_GAESTE, false); // Anzeige von Karteikarten für nichtangemeldete Besucher gesperrt
define(PASSIVE_AUSBLENDEN, true); // Anzeige passiver Spieler
define(GEBURTSJAHR_AUSBLENDEN, true); // Anzeige des Geburtsjahres
define(GESCHLECHT_AUSBLENDEN, true); // Anzeige des Geschlechtes
define(ALIAS_SUCHE, 'dewis'); // Suchseite
define(ALIAS_SPIELER, 'spieler'); // Spielerseite
define(ALIAS_VEREIN, 'verein'); // Vereineseite
define(ALIAS_VERBAND, 'verband'); // Verbändeseite
define(ALIAS_TURNIER, 'turnier'); // Turniereseite
define(SEITE_EINSTELLUNGEN, 'dwz-einstellungen.html'); // Suchseite
$GLOBALS['FE_MOD']['dewis'] = array
(
'dewis_einstellungen' => 'Einstellungen',
//'dewis_spielersuche' => 'DeWIS\Suche',
'dewis_spieler' => 'DeWIS\Spieler',
'dewis_verein' => 'DeWIS\Verein',
);
$GLOBALS['TL_HOOKS']['getPageIdFromUrl'][] = array('DeWIS\DeWIS', 'myGetPageIdFromUrl');
autoload.php:
PHP-Code:
<?php
/**
* Register the namespaces
*/
ClassLoader::addNamespaces(array
(
'DeWIS',
));
/**
* Register the classes
*/
ClassLoader::addClasses(array
(
// Classes
'DeWIS\DeWIS' => 'system/modules/dewis/helper/DeWIS.php',
'DeWIS\Cache' => 'system/modules/dewis/helper/Cache.php',
'DeWIS\Helper' => 'system/modules/dewis/helper/Helper.php',
//'DeWIS\Suche' => 'system/modules/dewis/classes/Suche.php',
'DeWIS\Spieler' => 'system/modules/dewis/classes/Spieler.php',
'DeWIS\Verein' => 'system/modules/dewis/classes/Verein.php',
));
/**
* Register the templates
*/
TemplateLoader::addFiles(array
(
//'dewis_spielersuche' => 'system/modules/dewis/templates',
'dewis_sub_spielersuche' => 'system/modules/dewis/templates',
'dewis_spieler' => 'system/modules/dewis/templates',
'dewis_sub_vereinsuche' => 'system/modules/dewis/templates',
'dewis_verein' => 'system/modules/dewis/templates',
'be_dewis' => 'system/modules/dewis/templates',
));
helper/DeWIS.php (uninteressante Funktionen entfernt):
PHP-Code:
<?php
namespace DeWIS;
class DeWIS
{
var $Fragmente;
/**
* Klasse initialisieren
*/
public function __construct()
{
$this->answertime = false; // Antwortzeit des Servers
$this->Fragmente = '';
}
public function myGetPageIdFromUrl($arrFragments)
{
$this->Fragmente = $arrFragments;
}
public function Fragmentos()
{
print_r($this->Fragmente);
}
}
Der Hook ist in der config.php hier aktiv. Ich lande deshalb automatisch auf der Startseite (bei Beibehaltung der aufgerufenen URL), wo mein FE-Modul natürlich nicht aktiv ist.
Ich könnte auch eine ZIP-Datei mit der ganzen Erweiterung posten. Aber ich will es nicht übertreiben. Du hast schon genug mit dem Support zu tun. Letztendlich läuft ja Dein Vorschlag darauf hinaus, aus dem Array in Posting #2, sich selbst alle Werte zusammenzubauen. In dem Fall wäre meine derzeitige Abfrage im FE-Modul
PHP-Code:
\Input::setGet('zps', \Input::get('zps')); // ZPS-Nummer des Vereins
\Input::setGet('search', \Input::get('search')); // Suchbegriff
\Input::setGet('order', \Input::get('order')); // Sortierung
ja überflüssig bzw. unmöglich. Allerdings reagiert Contao auch sehr empfindlich. Sobald ich eine der GET-Variablen mit \Input:setGet vergesse, kommt ein 404-Fehler.
Ich habe mir auch mal Funktion \Frontend::getPageIdFromUrl in meine Helper-Klasse kopiert. Auf Modifizierungen darin reagiert Contao aber auch allergisch und meldet einen 404.
Mein Ziel ist noch immer, aus
Code:
http://localhost/verein/zps/D2024.html
Code:
http://localhost/verein/D2024.html
zu machen.
Oder aus
Code:
http://localhost/turnier/code/B245-200-OPN/player/234567.html
Code:
http://localhost/turnier/B245-200-OPN/234567.html
Die decodierten URL's würden wohl entsprechend lauten
Code:
http://localhost/verein.html?zps=D2024
Code:
http://localhost/verein.html?D2024
und
Code:
http://localhost/turnier.html?code=B245-200-OPN&player=234567
Code:
http://localhost/turnier.html?B245-200-OPN=234567
In "reinem" PHP will ich daraus
PHP-Code:
foreach($_GET as $key => value)
{
// In Beispiel 1 ist $key = 'D2024' und $value = '', daraus folgt
$zps = $key;
// In Beispiel 2 ist $key = 'B245-200-OPN' und $value = '234567', daraus folgt
$code = $key;
$player = $value;
}
machen.
Lesezeichen