Ergebnis 1 bis 9 von 9

Thema: Cookie Setzen / Erweitern

  1. #1
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Frage Cookie Setzen / Erweitern

    Hallo zusammen,

    ich würde gerne bei einer Erweiterung des Catalogs Werte in einem Cookie speichern. Gibt es da bereits fertige Funktionen welche verwendet werden können?
    Die Werte bestehen nur aus den IDs von Einträgen welche bei einer Seiten Navigation auf andere Seiten erhalten bleiben soll.

    Kann ich einfach den "setcookie()" Befehl verwenden?

    Wie kann ich mir die Daten merken, wenn der Benutzer Cookies deaktiviert hat?

    Hat jemand eine Idee wie ich das anstellen kann?

    Danke für eure Hilfe.

    Gruß
    Andreas

  2. #2
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    Contao stellt da die Funktion setCookie zur Verfügung: http://dev.contao.org/projects/typol...ystem.php#L504

    Die könntest du verwenden.

    Sebastian
    Ich arbeite beim Linux-Systemhaus ETES in Stuttgart

  3. #3
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Vielen Dank für den Hinweis.
    Wie allerdings kann ich da jetzt Daten Hinhängen und auch wieder rausholen?
    Die Funktionen und Objekte sind recht und gut allerdings bin ich nicht so der Checker in sowas.
    Gibt es dafür einen Hook? Oder setze ich mir ein eigenes Cookie, was allerdings auch nicht sehr sinnvoll ist, da ja nicht jeder mit seiner Erweiterung cookies setzen sollte. Da gibts auch ein Limit pro Domain. (20 Stück) Das sagt zumindest mein schlaues PHP Buch.

  4. #4
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Daten anhängen hast Du ja eben aufgezeigt gekriegt. Aber nochmal:
    PHP-Code:
    $this->setCookie("TestCookie"'mein Wert'time()+3600);  /* expire in 1 hour */ 

    Auslesen normalerweise über das globale Cookies Array:
    PHP-Code:
    echo $_COOKIE['TestCookie']; 
    Aber Contao bietet da noch ein zusätzlicher Sicherheitsschutz wo dann Dein Cookie zuerst noch gefiltert wird:
    PHP-Code:
    echo $this->Input->cookie('TestCookie'); 
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Hallo Toflar,

    Danke für die Ausführung. Aber das klappt nicht. Ich kann das Cookie nicht finden. Oder auch den Inhalt ausgeben. Habe das ganze an Folgender Stelle Versucht:
    PHP-Code:
    //config.php
    $GLOBALS['TL_HOOKS']['getContentElement'][] = array('CatalogCompare''CatalogCompareGetContentElement');

    //catalogcompare.php
    class CatalogCompare extends Backend
    {
        public function 
    CatalogCompareGetContentElement(Database_Result $objElement$strBuffer)
        {
            return 
    $strBuffer;
            
    $this->setCookie("TestCookie"'mein Wert'time()+3600);  /* expire in 1 hour */  
        
    }

    Ich kann das Cookie unter (Firefox) rechtsklick in Browser Fenster / Seiteninformationen / Sicherheit / Cookies nicht finden. Was mache ich falsch?

    Zudem kommt folgender Fehler, der allerdings kommt auch wenn ich die Cookie Zeile entferne:
    Code:
    Recoverable error: Argument 1 passed to CatalogCompare::CatalogCompareGetContentElement() must be an instance of Database_Result, instance of ContentModule given, called in C:\Programme\xampp\htdocs\cms\contao-2.9.1_catalog_erweitern\system\libraries\Controller.php on line 423 and defined in C:\Programme\xampp\htdocs\cms\contao-2.9.1_catalog_erweitern\system\modules\catalogcompare\catalogcompare.php on line 43
    
    #0 Pfad\system\modules\catalogcompare\catalogcompare.php(43): __error(4096, 'Argument 1 pass...', 'Pfad..', 43, Array)
    #1 Pfad\system\libraries\Controller.php(423): CatalogCompare->CatalogCompareGetContentElement(Object(ContentModule), '?
    Ich habe mich hierbei an folgendes aus dem Entwickler Handbuch gehalten. getContentElement

    Wenn ich das hier entferne "Database_Result $objElement, $strBuffer" kommt der Fehler nicht mehr. Aber das ist ja nicht Sinn der Sache, ich will den Inhalt ja bearbeiten. Was habe ich da Falsch Verstanden?

    Sorry, wenn ich solche Fragen Stelle, aber dieses Objekt orientierte und die Funktionen sind mir noch etwas fremd.

    Noch zur Info: Im Backend ist Fehlermeldungen anzeigen und Debug Modus Aktiviert.

  6. #6
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    Ich würde das return in jedem Falle erst nach dem Setzen des Cookies ausführen. Denn so passiert ja gar nichts.

    Sebastian
    Ich arbeite beim Linux-Systemhaus ETES in Stuttgart

  7. #7
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Danke Sebastian. Das wars. Ich glaube, dass an mir malo kein Programmierer Verloren geht
    Das Cookie wird jetzt gesetzt. Den Fehler habe ich allerdings immer noch.

  8. #8
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    Das mit dem Programmieren wird schon. Immerhin hast du dich schon drangewagt, jetzt geht es also nur noch aufwärts…

    Die Fehlermeldung würde ich mal ignorieren, wenn der Rest tut. Mir scheint, du machst alles richtig.

    Sebastian
    Ich arbeite beim Linux-Systemhaus ETES in Stuttgart

  9. #9
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    So. Das mit dem Setzen klappt soweit. Wie lösche ich das Cookie, wenn ich es nicht mehr brauche?
    Kann es zu einem Problem kommen beim Löschen, wenn das Cookie mit Javascript gesetzt wurde?

    Mein PHP Code:
    PHP-Code:
    $this->setCookie("compareCookie"""time() - 3600); 

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Input auf disabled setzen
    Von kischd im Forum Formulare
    Antworten: 7
    Letzter Beitrag: 10.02.2017, 07:22
  2. Cookie erzeugt weiße Seite
    Von µaTh im Forum isotope
    Antworten: 2
    Letzter Beitrag: 04.09.2010, 14:22
  3. Login mit Cookie und Häkchen
    Von chefprolet im Forum Geschützte Bereiche/Mitglieder
    Antworten: 3
    Letzter Beitrag: 28.07.2010, 17:46
  4. main und right div höhe auf 100% setzen
    Von Frauke im Forum Layout / Templates / Holy Grail
    Antworten: 7
    Letzter Beitrag: 01.07.2010, 14:07
  5. Checkboxen in relation setzen
    Von Johannes im Forum Formulare
    Antworten: 2
    Letzter Beitrag: 11.09.2009, 09:14

Lesezeichen

Lesezeichen

Berechtigungen

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