FE-Mitglieder erweitern: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Ordner "dca")
(Ordner "dca")
Zeile 55: Zeile 55:
 
Legt nun im Ordner dca eine Datei "tl_member.php" mit folgendem Inhalt an:
 
Legt nun im Ordner dca eine Datei "tl_member.php" mit folgendem Inhalt an:
  
<nowiki>
 
 
   <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
 
   <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
 
   /**
 
   /**
Zeile 65: Zeile 64:
 
   * @filesource
 
   * @filesource
 
   */
 
   */
 
 
   if (strpos($GLOBALS['TL_DCA']['tl_member']['palettes']['default'], 'newsletter;') === false) {
 
   if (strpos($GLOBALS['TL_DCA']['tl_member']['palettes']['default'], 'newsletter;') === false) {
 
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] .= ',x_agb_accept';
 
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] .= ',x_agb_accept';
Zeile 71: Zeile 69:
 
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace('newsletter;','newsletter,x_agb_accept;',  $GLOBALS['TL_DCA']['tl_member']['palettes']['default']);
 
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace('newsletter;','newsletter,x_agb_accept;',  $GLOBALS['TL_DCA']['tl_member']['palettes']['default']);
 
}
 
}
 
 
 
   $GLOBALS['TL_DCA']['tl_member']['fields']['x_agb_accept'] = array
 
   $GLOBALS['TL_DCA']['tl_member']['fields']['x_agb_accept'] = array
 
     (
 
     (
Zeile 80: Zeile 77:
 
  'eval'                    => array('feEditable' => true,'feViewable' => true,'feGroup' => 'newsletter','tl_class' =>  'agb','mandatory' => true)
 
  'eval'                    => array('feEditable' => true,'feViewable' => true,'feGroup' => 'newsletter','tl_class' =>  'agb','mandatory' => true)
 
     );
 
     );
 
 
   /**
 
   /**
 
   * Class tl_member_x_accept
 
   * Class tl_member_x_accept
Zeile 89: Zeile 85:
 
   * @package    Controller
 
   * @package    Controller
 
   */
 
   */
 
 
   class tl_member_x_accept extends tl_member
 
   class tl_member_x_accept extends tl_member
 
   {
 
   {
 
   }
 
   }
 
   ?>
 
   ?>
</nowiki>
 
  
 
== Ordner "languages/de" ==
 
== Ordner "languages/de" ==

Version vom 6. Juli 2010, 16:56 Uhr

Für viele Webseiten ist es nützlich, wenn die registrierten Freontend-User eine Checkbox ankreuzen, und so bestätigen, dass Sie die AGB gelesen haben. ImCore-Modul "M;ithlieder" ist das nicht der Fall.

Um diese, oder weitere Checkboxen zu ergänzen, empfiehlt es sich, ein Modul anl´zulegen, um die Checkbox updatesicher zu erhalten.


Ordnerstruktur des Moduls anlegen

 - Erweiterung (Beispiel: x_accept)
   - config
   - dca
   - languages
     - de

Ordner "config"

Legt hier eine Datei mit dem Namen database.sql mit folgendem Inhalt an

 -- **********************************************************
 -- *                                                        *
 -- * IMPORTANT NOTE                                         *
 -- *                                                        *
 -- * Do not import this file manually but use the TYPOlight *
 -- * install tool to create and maintain database tables!   *
 -- *                                                        *
 -- **********************************************************
 -- 
 -- Table `tl_member`
 -- 
 CREATE TABLE `tl_member` (
   `x_agb_accept` char(1) NOT NULL,
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Der Vollständigkeit halber legt auch eine .htaccess an, Inhalt:

 order deny,allow
 deny from all

Und auch eine config.php

 <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
 /**
  * @copyright  Eure Daten
  * @author     Eure Daten
  * @package    Name Eurer Erweiterung
  * @license    LGPL
  * @creator    Eure Daten
  * @filesource
  */
 /**
  * Back end modules
  */
 /**
  * Front end modules
  */
 ?>

Ordner "dca"

Legt nun im Ordner dca eine Datei "tl_member.php" mit folgendem Inhalt an:

 <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
 /**
  * @copyright  Eure Daten
  * @author     Eure Daten
  * @package    Name Eurer Erweiterung
  * @license    LGPL
  * @creator    Eure Daten
  * @filesource
  */
 if (strpos($GLOBALS['TL_DCA']['tl_member']['palettes']['default'], 'newsletter;') === false) {

$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] .= ',x_agb_accept'; } else { $GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace('newsletter;','newsletter,x_agb_accept;', $GLOBALS['TL_DCA']['tl_member']['palettes']['default']); }

 $GLOBALS['TL_DCA']['tl_member']['fields']['x_agb_accept'] = array
   (

'label' => &$GLOBALS['TL_LANG']['tl_member']['x_agb_accept'], 'exclude' => true, 'search' => true, 'inputType' => 'checkbox', 'eval' => array('feEditable' => true,'feViewable' => true,'feGroup' => 'newsletter','tl_class' => 'agb','mandatory' => true)

   );
 /**
  * Class tl_member_x_accept
  *
  * Provide miscellaneous methods that are used by the data configuration array.
  * @copyright  Eure Daten
  * @author     Eure Daten
  * @package    Controller
  */
 class tl_member_x_accept extends tl_member
  {
  }
 ?>

Ordner "languages/de"

Legt nun im Ordner languages/de eine Datei "tl_member.php" mit folgendem Inhalt an:

<?php if (!defined('TL_ROOT')) die('You can not access this file directly!');

/**

* @copyright  Eure Daten
* @author     Eure Daten
* @package    Name Eurer Erweiterung
* @license    LGPL
* @creator    Eure Daten
* @filesource
*/

/**

* Fields
*/

$GLOBALS['TL_LANG']['tl_member']['xt_agb_accept'] = array('Ich habe die <a href="/agb.html">AGB</a> gelesen und akzeptiere diese', 'AGB akzeptieren');

/**

* Legends
*/

?>

Achtung! Falls ihr den Link haben wolltm achtet auf den richtigen Verweis!


Installation

Ladet nun Eure eben erstellten Dateien in den Ordner system/modules und führt ein Datenbank-Update durch. Die Checkbox steht Euch nun sowohl im Backend als auch im Frontend zur Verfügung.

Ansichten
Meine Werkzeuge

Contao Community Documentation

Ich habe eine Anpassungsgeschichte angepasst.

Leo Feyer
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge