<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://de.contaowiki.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MarkusJ</id>
		<title>Contao Community Documentation - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MarkusJ"/>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Spezial:Beitr%C3%A4ge/MarkusJ"/>
		<updated>2026-05-01T07:39:31Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>https://de.contaowiki.org/FE-Mitglieder_erweitern</id>
		<title>FE-Mitglieder erweitern</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/FE-Mitglieder_erweitern"/>
				<updated>2011-08-02T15:41:37Z</updated>
		
		<summary type="html">&lt;p&gt;MarkusJ: /* Ordner &amp;quot;languages/de&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Dev_HOWTOS]]&lt;br /&gt;
Für viele Webseiten ist es nützlich, wenn die registrierten Frontend-User eine Checkbox ankreuzen, und so bestätigen, dass Sie die AGB gelesen haben.&lt;br /&gt;
Im Core-Modul &amp;quot;Mitglieder&amp;quot; ist das nicht der Fall.&lt;br /&gt;
&lt;br /&gt;
Um diese, oder weitere Checkboxen zu ergänzen, empfiehlt es sich, ein Modul anzulegen, um die Checkbox updatesicher zu erhalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ordnerstruktur des Moduls anlegen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- Erweiterung (Beispiel: x_accept)&lt;br /&gt;
  - config&lt;br /&gt;
  - dca&lt;br /&gt;
  - languages&lt;br /&gt;
    - de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ordner &amp;quot;config&amp;quot; ==&lt;br /&gt;
Hier wird eine Datei mit dem Namen ''database.sql'' mit folgendem Inhalt angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
-- **********************************************************&lt;br /&gt;
-- *                                                        *&lt;br /&gt;
-- * IMPORTANT NOTE                                         *&lt;br /&gt;
-- *                                                        *&lt;br /&gt;
-- * Do not import this file manually but use the TYPOlight *&lt;br /&gt;
-- * install tool to create and maintain database tables!   *&lt;br /&gt;
-- *                                                        *&lt;br /&gt;
-- **********************************************************&lt;br /&gt;
-- &lt;br /&gt;
-- Table `tl_member`&lt;br /&gt;
-- &lt;br /&gt;
CREATE TABLE `tl_member` (&lt;br /&gt;
  `x_agb_accept` char(1) NOT NULL,&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Vollständigkeit halber wird auch eine .htaccess mit ff.Inhalt angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
order deny,allow&lt;br /&gt;
deny from all&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und auch eine config.php'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if (!defined('TL_ROOT')) die('You can not access this file directly!');&lt;br /&gt;
/**&lt;br /&gt;
 * @copyright  Eure Daten&lt;br /&gt;
 * @author     Eure Daten&lt;br /&gt;
 * @package    Name Eurer Erweiterung&lt;br /&gt;
 * @license    LGPL&lt;br /&gt;
 * @creator    Eure Daten&lt;br /&gt;
 * @filesource&lt;br /&gt;
 */&lt;br /&gt;
/**&lt;br /&gt;
 * Back end modules&lt;br /&gt;
 */&lt;br /&gt;
/**&lt;br /&gt;
 * Front end modules&lt;br /&gt;
 */&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ordner &amp;quot;dca&amp;quot; ==&lt;br /&gt;
Nun wird im Ordner ''dca'' eine Datei &amp;quot;tl_member.php&amp;quot; mit folgendem Inhalt angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if (!defined('TL_ROOT')) die('You can not access this file directly!');&lt;br /&gt;
/**&lt;br /&gt;
 * @copyright  Eure Daten&lt;br /&gt;
 * @author     Eure Daten&lt;br /&gt;
 * @package    Name Eurer Erweiterung&lt;br /&gt;
 * @license    LGPL&lt;br /&gt;
 * @creator    Eure Daten&lt;br /&gt;
 * @filesource&lt;br /&gt;
 */&lt;br /&gt;
if (strpos($GLOBALS['TL_DCA']['tl_member']['palettes']['default'], 'newsletter;') === false) &lt;br /&gt;
{$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] .= ',x_abg_accept'; }&lt;br /&gt;
else {$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace('newsletter;','newsletter,x_abg_accept;', &lt;br /&gt;
$GLOBALS['TL_DCA']['tl_member']['palettes']['default']); }&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_member']['fields']['x_agb_accept'] = array&lt;br /&gt;
   (&lt;br /&gt;
    'label'      =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_member']['x_agb_accept'],&lt;br /&gt;
    'exclude'    =&amp;gt; true,&lt;br /&gt;
    'search'     =&amp;gt; true,&lt;br /&gt;
    'inputType'  =&amp;gt; 'checkbox',&lt;br /&gt;
    'eval'       =&amp;gt; array('feEditable' =&amp;gt; true,'feViewable' =&amp;gt; true,'feGroup' =&amp;gt; 'newsletter','tl_class' =&amp;gt;   'agb','mandatory' =&amp;gt; true)&lt;br /&gt;
   );&lt;br /&gt;
/**&lt;br /&gt;
 * Class tl_member_x_accept&lt;br /&gt;
 *&lt;br /&gt;
 * Provide miscellaneous methods that are used by the data configuration array.&lt;br /&gt;
 * @copyright  Eure Daten&lt;br /&gt;
 * @author     Eure Daten&lt;br /&gt;
 * @package    Controller&lt;br /&gt;
 */&lt;br /&gt;
class tl_member_x_accept extends tl_member&lt;br /&gt;
   {&lt;br /&gt;
   }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ordner &amp;quot;languages/de&amp;quot; ==&lt;br /&gt;
Nun legt man im Ordner ''languages/de'' eine Datei &amp;quot;tl_member.php&amp;quot; mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if (!defined('TL_ROOT')) die('You can not access this file directly!');&lt;br /&gt;
/**&lt;br /&gt;
 * @copyright  Eure Daten&lt;br /&gt;
 * @author     Eure Daten&lt;br /&gt;
 * @package    Name Eurer Erweiterung&lt;br /&gt;
 * @license    LGPL&lt;br /&gt;
 * @creator    Eure Daten&lt;br /&gt;
 * @filesource&lt;br /&gt;
 */&lt;br /&gt;
/**&lt;br /&gt;
 * Fields&lt;br /&gt;
 */&lt;br /&gt;
$GLOBALS['TL_LANG']['tl_member']['x_agb_accept'] = array('Ich habe die &amp;lt;a href=&amp;quot;/agb.html&amp;quot;&amp;gt;AGB&amp;lt;/a&amp;gt; gelesen und akzeptiere diese.', 'AGB akzeptieren');&lt;br /&gt;
/**&lt;br /&gt;
 * Legends&lt;br /&gt;
 */&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{Achtung|Falls man zu einer Seite verweist (z.B. agb.html), muss auf die richtige Schreibweise des Links geachtet werden. Es können auch Insert-Tags verwendet werden.}}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Abschließend  ladet man die eben erstellten Dateien in den Ordner system/modules und führt ein Datenbank-Update durch.&lt;br /&gt;
Die Checkbox steht nun sowohl im Backend als auch im Frontend zur Verfügung.&lt;/div&gt;</summary>
		<author><name>MarkusJ</name></author>	</entry>

	</feed>