"AGB akzeptieren" Haken bei Registrierung einbinden?

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Kayne
    Gesperrt
    • 22.03.2010
    • 25

    #1

    "AGB akzeptieren" Haken bei Registrierung einbinden?

    Hallo,

    von Haus aus kann das Avisota wohl noch nicht, dass man bei der Newsletter Anmeldung einen Haken setzen muss, von der Art "Ich habe die Bestimmungen gelesen und akzeptiert".

    Bin leider in Sachen Coding ein Laie, hat jemand eine Idee, wie ich so etwas möglich einfach beim mod_avisota_subscription Template (oder woanders) einbinden kann?

    Danke schon mal...
  • tril
    Contao-Urgestein
    • 07.01.2010
    • 2939

    #2
    Verzeichnisse anlegen:
    /system/modules/AvisotaCustomFields
    /system/modules/AvisotaCustomFields/config
    /system/modules/AvisotaCustomFields/dca
    /system/modules/AvisotaCustomFields/languages/de

    Dateien anlegen:
    /system/modules/AvisotaCustomFields/config/database.sql
    Code:
    -- **********************************************************
    -- *                                                        *
    -- * IMPORTANT NOTE                                         *
    -- *                                                        *
    -- * Do not import this file manually but use the TYPOlight *
    -- * install tool to create and maintain database tables!   *
    -- *                                                        *
    -- **********************************************************
    
    -- 
    -- Table `tl_avisota_recipient`
    -- 
    
    CREATE TABLE `tl_avisota_recipient` (
      `acceptAGB` char(1) NOT NULL default '',
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    /system/modules/AvisotaCustomFields/dca/tl_avisota_recipient.php
    PHP-Code:
    <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
    
    $GLOBALS['TL_DCA']['tl_avisota_recipient']['fields']['acceptAGB'] = array
    (
        'label'                   => &$GLOBALS['TL_LANG']['tl_avisota_recipient']['acceptAGB'],
        'exclude'                 => true,
        'filter'                  => true,
        'inputType'               => 'checkbox',
        'eval'                    => array('mandatory'=>true, 'tl_class'=>'w50 m12', 'importable'=>true, 'exportable'=>true)
    );
    /system/modules/AvisotaCustomFields/languages/de/tl_avisota_recipient.php

    PHP-Code:
    <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
    
    $GLOBALS['TL_LANG']['tl_avisota_recipient']['acceptAGB'] = array('Ich akzeptiere die <a href="...link...">AGBs</a>.', 'Hiermit akzeptieren Sie unsere AGBs.');
    Eventuell ist dies für weitere Sprachen nachzuholen.

    Wenn ich nichts vergessen habe, sollte nach einem DB Update das Feld in dem "Abonnement Verwalten" Modul auswählbar sein.

    MfG Tristan

    Kommentar

    • Kayne
      Gesperrt
      • 22.03.2010
      • 25

      #3
      Vielen Dank!
      Das ist jetzt doch eine größere Arbeit als ich gedacht habe...

      Ich habe soweit alle Schritte durchgeführt, die Datenbank wurde auch erfolgreich geupdatet und es steht auch alles korrekt in der mysql-Datenbank drin.
      Nur leider erscheint beim Abo verwalten-Modul kein AGB Feld. Ich habe auch versucht das Modul neu anzulegen.

      Ich habe alle Dateinamen und den Code nochmal durchgecheckt...

      Weißt Du da weiter?

      Edit:
      Wenn ich in die PHP Datei im dca Ordner absichtlich Fehler reinhaue, spuckt mir Contao immerhin eine PHP Fehlermeldung aus, wenn ich das Abo verwalten-Modul aufrufe. Wenn der Code allerdings wie oben ist, ist alles wie vorher. Aber es scheint in die richtige Richtung zu gehen.
      Zuletzt geändert von Kayne; 16.11.2011, 18:37.

      Kommentar

      • tril
        Contao-Urgestein
        • 07.01.2010
        • 2939

        #4
        Die DCA war nicht korrekt, da fehlte feEditable:
        PHP-Code:
        <?php if (!defined('TL_ROOT')) die('You can not access this file directly!'); 
        
        $GLOBALS['TL_DCA']['tl_avisota_recipient']['fields']['acceptAGB'] = array 
        ( 
            'label'                   => &$GLOBALS['TL_LANG']['tl_avisota_recipient']['acceptAGB'], 
            'exclude'                 => true, 
            'filter'                  => true, 
            'inputType'               => 'checkbox', 
            'eval'                    => array('mandatory'=>true, 'tl_class'=>'w50 m12', 'feEditable'=>true, 'importable'=>true, 'exportable'=>true) 
        );
        Danach kannst du das Feld in den Moduleinstellungen auswählen.

        Kommentar

        • Kayne
          Gesperrt
          • 22.03.2010
          • 25

          #5
          Das ist es gewesen!! Super, vielen Dank!
          Wäre toll, wenn es dieses Feature in zukünftigen Versionen von Haus aus gibt

          Kommentar

          • tril
            Contao-Urgestein
            • 07.01.2010
            • 2939

            #6
            Deshalb ist es mitlerweile mittels DCA erweiterbar.
            Bei dem einen heißt es accpetAGB, der Nächste braucht accptEULA, der Nächste braucht acceptTermOfUser, deshalb ist das kein built in feature

            Kommentar

            • Kayne
              Gesperrt
              • 22.03.2010
              • 25

              #7
              Man könnte dem ganzen ja einen neutraleren Namen wie "Nutzervereinbarung" geben und im Modul die Erklärung bzw. Überschrift selbst editieren, wenn es z.B. eine EULA ist... ist aber natürlich nur ein Vorschlag

              Kommentar

              • tril
                Contao-Urgestein
                • 07.01.2010
                • 2939

                #8
                Und was ist mit denen die beides brauchen?
                Nutzungsvereinbarung und AGB?

                Ich kann es grundsätzlich verstehen, aber genau deshalb ist es ja jetzt über DCA konfigurierbar, weil es jeder anders brauch und der imo kleinste gemeinsame Nenner einfach gar kein Feld dieser Art ist

                Das wäre aber etwas, fürs Wiki
                Zuletzt geändert von tril; 21.11.2011, 15:54.

                Kommentar

                Lädt...