Contao-Camp 2024
Ergebnis 1 bis 11 von 11

Thema: Problem mit if else und dem Variablenvergleich

  1. #1
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard Problem mit if else und dem Variablenvergleich

    Ich habe die Events um ein Feld gast_nr erweitert, in der Listenausgabe steht mir dieses mit $this->gast_nr auch zur Verfügung.

    Ziel soll es jetzt sein, dem angemeldeten Besucher nur seine eigenen, selber eingetragenen Events anzeigen zu lassen.
    Die gast_nr in der tl_calender_events, deckt sich mit dem Feld username aus der tl_member. Letztere wird auch beim Eintragen eines Events in das Feld gast_nr geschrieben.
    Das funktioniert auch wunderbar.

    Da dachte ich mir, vergleiche ich doch einfach mal beide Felder indem ich folgenden Vergleich in ein if packe!
    Mir stehen ja beide Variablen zur Verfügung, sobald der Besucher angemeldet ist.
    Code:
    if ($this->gast_nr == "{{user::username}}") 
    {
    mache irgendwas
    }
    Das funktioniert aber so nicht.
    Selbst wenn ich den Insertag in eine Variable schreiben lasse, vergleich er beide Strings einfach nicht und führt *mache irgendwas* dennoch aus.

    Muss ich den Inserttag, geschrieben in eine Variable, noch weiter aufbereiten?
    Wenn ja, wie?

    Ich habe es auch mit einer anderen Vergleichsoption versucht:
    Code:
    $mitglied = "{{user::username}}";
    $strInt = strcmp($this->gast_nr, $mitglied);
    Das gibt mir immer ein -1 zurück, auch wenn dort unterschiedliche Inhalte drin stehen.

    In der DB stehen die Inhalte unter unterschiedlichen varchars - varchar(64) und varchar(255) könnte es davon kommen?

    Irgendwie habe ich gerade ein größeres Brett vorm Kopf und komme nicht weiter.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Thomas,
    ich geb dir mal nen passenden Link: https://www.contao-community.de/show...l=1#post113702

    ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Haha, danke!
    Darauf wäre ich jetzt nicht gekommen.
    Dann muss ich das etwas anders machen, schade.

    EDIT:
    Danke, funktioniert bestens.
    Geändert von Thomas (23.02.2012 um 07:50 Uhr)
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  4. #4
    Contao-Fan
    Registriert seit
    31.08.2009.
    Beiträge
    365

    Standard <? $vorname ='{{user::firstname}}'; echo $vorname; ?>

    Hallo ich stehe vor dem Gleichen Problem und wollte gern den Link benutzen um mich schlau zu machen. Leider funktioniert der nicht (mehr?).
    Gibt es irgendwo eine Hilfe die mir zeigt, wie ich einen Inserttag einer php-Variablen zuweisen kann?
    Geändert von Rentier06 (11.08.2020 um 18:06 Uhr)

  5. #5
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Direkt den Insert tag im Temlate verwenden, also ohne u mschließende PHP Tags?

    Ansonsten wohl $this->replaceInsertTags('{{foo::bar}}').
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  6. #6
    Contao-Fan
    Registriert seit
    31.08.2009.
    Beiträge
    365

    Standard

    Danke für die Antwort.
    Es geht aber um folgendes. in einem externen php file möchte ich die inserttags verwenden. Das php-programm habe ich bisher immer als iframe eingebaut. Nun möchte ich mittels der Benutzer-ID den Namen in übertragen, dort ausgeben und weiter verarbeiten. Die Seite steht in einem geschützten Mitgliederbereich, so dass sichergestellt ist, dass die Anmeldung bereits erfolgt ist.

  7. #7
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Dann ist wohl replaceInsertTags() Dein Freund.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  8. #8
    Contao-Fan
    Registriert seit
    31.08.2009.
    Beiträge
    365

    Standard

    replaceInsertTags()
    Danke das kling erst mal verlockend. Da es sich dabei aber nicht um einen php-Befehl handelt, ist mir nicht klar in welcher Umgebung und mit welcher Syntax das angewendet werden kann.

  9. #9
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Siehe #5. Inkl. Zuweisung an eine Variable wohl so:

    PHP-Code:
    $variable $this->replaceInsertTags('{{foo:bar}}'); 
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  10. #10
    Contao-Fan
    Registriert seit
    31.08.2009.
    Beiträge
    365

    Standard

    Danke, das war der Schlüssel.
    Das habe ich in einer test.php im Templates-Ordner hingekriegt. In diesem File kann ich auch beliebige Änderungen machen.
    In den gleichen Ordner habe ich die Anwendungsdatei gelegt. Plötzlich kann ich darin aber keinerlei Änderungen mehr machen. Sie werden einfach ignoriert. Es kommt immer das gleiche.
    Gibt es Regeln für php die im Templates-Ordner anders sind als in anderen Ordnern?

  11. #11
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von Rentier06 Beitrag anzeigen
    Das habe ich in einer test.php im Templates-Ordner hingekriegt. In diesem File kann ich auch beliebige Änderungen machen.
    In den gleichen Ordner habe ich die Anwendungsdatei gelegt. Plötzlich kann ich darin aber keinerlei Änderungen mehr machen.
    Sie werden einfach ignoriert. Es kommt immer das gleiche.
    Gibt es Regeln für php die im Templates-Ordner anders sind als in anderen Ordnern?
    Das ist jetzt aber ein neues Thema und damit vielleicht Kandidat für einen eigenen Thread.

    Was heißt

    Plötzlich kann ich darin aber keinerlei Änderungen mehr machen.
    Was ist "plötzlich"? Hast Du an Deiner Installation irgendetwas geändert? Contao Update?
    Die Datei lässt sich im Backend nicht editieren?
    Du kannst Die Datei im Backend editieren, aber die Änderungen werden nicht abgespeichert?
    Du kannst die Datei im Backend erfolgreich editieren, aber die Änderungen werden nicht wirksam?
    ...

    Gibt es Regeln für php die im Templates-Ordner anders sind als in anderen Ordnern?
    Welche Contao Version? Du musst php evtl. noch in die Liste der bearbeitbaren Dateien aufnehmen.

    Code:
    # config/paramaters.yml
    contao:
      localconfig:
        editableFiles: 'php,css,csv,html,ini,js,json,less,md,scss,svg,svgz,txt,xliff,xml,yml,yaml'
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

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
  •