Hallo zusammen,
ich bin weder Extension Entwickler, noch verstehe ich OOP in PHP (bisher). Trotzdem entwickle ich mit meinen bisherigen Skills eine PWA wo ich Contao mit seiner Benutzerverwaltung und weiteren nützlichen Modulen als als Grundgerüst nutze. Ich erstelle Seiten im Backend und binde darin meistens eigene Templates aus dem template Ordner ein.
Jetzt zu meiner Frage:
In diesen Templates kann ich zum Beispiel auf Shortcodes und den Usernamen zugreifen. Wenn ich in meinen eigenen Templates allerdings per AJAX weitere PHP Dokumente nachlade, können diese weder auf Shortcodes, noch auf die Contao Variablen wie zB. den Nutzernamen zugreifen. Ich kann zwar einzelne kurze Variablen per URL übergeben aber das reicht mir leider nicht aus.
Was kann ich dagegen machen, welche Lösung gibt es, was kann ich lernen, um zu verstehen was da vor sich geht?
ZB:
(templates/header.html5)
HTML-Code:
$objUser = FrontendUser::getInstance();
$name = $objUser->username;
$groups = $objUser->groups;
<span class="user-avatar">{{avatar::member::current::250x250}}</span>
<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
$.ajaxSetup({ cache: false }); // This part addresses an IE bug. without it, IE will only load the first number and will never refresh
$('#ajax-header').load('files/taos/ajax/header.php?name=<?php echo $name; ?>');
setInterval(function() { // Aktive Abholungen prüfen
$('#ajax-header').load('files/taos/ajax/header.php?name=<?php echo $name; ?>');
}, 5000);
});
// ]]></script>
Mein beispiel AJAX Dokument:
(files/taos/ajax/header.php)
PHP-Code:
//Funktioniert
$name = $_GET["name"];
//eigene Datenbankabfragen über PHP und SQL gehen auch
//Funktioniert NICHT
$objUser = FrontendUser::getInstance();
$name = $objUser->username;
//Shortcode wird nicht geladen
<span class="user-avatar">{{avatar::member::current::50x50}}</span>
Lesezeichen