Ergebnis 1 bis 3 von 3

Thema: Contao Variablen in eigenen AJAX Dateien nutzen

  1. #1
    Contao-Nutzer
    Registriert seit
    22.07.2022.
    Beiträge
    2

    Frage Contao Variablen in eigenen AJAX Dateien nutzen

    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
    Geändert von PeetTheHeet (26.07.2022 um 10:28 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.084
    Partner-ID
    10107

    Standard

    Für so etwas solltest du dir am besten einen eigenen Controller bauen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    22.07.2022.
    Beiträge
    2

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Für so etwas solltest du dir am besten einen eigenen Controller bauen.
    Danke für die schnelle Antwort. Von dem Link verstehe ich eher nur Bahnhof.

    Ich hatte auf eine Antwort gehofft wie:
    "Du musst in deinen AJAX Dateien folgende zwei Zeilen einbinden >xy< damit du darauf zugreifen kannst und solltest dich wirklich mal in Objekt Orientierte Programmierung einarbeiten"

    Hilfreiche Links für Anfänger wären super. Ich kenne zwar die Entwickler Tutorials, habe aber nicht die Zeit jetzt über ein halbes Jahr Backend Entwickler zu werden. Freitag muss die erste Version stehen.

    EDIT: Soweit wie ich das verstehe muss ich der ajax Datei Zugriff auf die Klasse FrontendUser ermöglichen. Wie das geht und was man für den ShortCode machen muss – keine Ahnung.
    Geändert von PeetTheHeet (26.07.2022 um 11:57 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •