Datenschutz für xt:Commerce [upd]
08.02.2007
86 Kommentare
[update]: Da WordPress dazu neigt, Hochkommas im Codebereich falsch darzustellen und xt:Commerce davon leider reichlich Gebrauch macht ist für den Einbau dringend zu empfehlen, die Codeteile aus der Textdatei zu kopieren!
Neues Jahr, neue Gesetze, neue Vorschriften. Seit Jahresbeginn gelten unter anderem neue Formvorschriften für E-Mails und, mit der Novelle des Telemediengesetzes, kommen gerade auf Shopbetreiber neue Anforderungen in Bezug auf die Datenschutzerklärung zu.
Während sich das Überarbeiten der dreizehn verschiedenen E-Mail-Texte, die sich für alle Sprachen, jeweils in einer reinen Text und einer HTML-Ausprägung sowohl in templates/[template]/mail/ als auch in templates/[template]/admin/mail befinden, allenfalls als Fleißaufgabe erweisen dürfte, da xt:Commerce keine Möglichkeit bietet, an alle E-Mails eine gleichlautende Signatur anzuhängen (aber vielleicht poste ich hier in Kürze mal was entsprechendes), müssen für die Erfordernisse des neuen Telemediengesetzes in Bezug auf Datenschutz stärkere Geschütze aufgefahren werden:
Wörtlich genommen müsste der Nutzer einer gewerblichen Webseite beim ersten Aufruf auf die Datenschutzerklärung hingewiesen werden. Es wird wohl allerdings ausreichend sein, einen entsprechenden aussagekräftigen Link auf die Belehrung in der Fusszeile anzubringen. Spätestens jedoch, wenn ein Bestellvorgang gestartet wird, bei dem der Nutzer seine persönlichen Daten eingibt, muss die Belehrung deutlich eingeblendet werden. Der Vorgang darf erst dann fortgesetzt werden können, wenn der Nutzer die Belehrung akzeptiert hat. Die Zustimmung muss nachprüfbar gespeicht werden.
Nach der Einverständniserklärung muss der Nutzer jederzeit den Inhalt seiner Erklärung abrufen können. Eine per Email versendete Bestellbestätigung sollte neben einem Link auf etwa akzeptierte AGB auch einen Link oder den Volltext der Datenschutzbelehrung enthalten.
Weiterhin ist sicherzustellen, dass der Nutzer des Dienstes die Nutzung jederzeit beenden kann. Wenn etwa ein Benutzer-Account angeboten wird muss dem Nutzer die Möglichkeit geboten werden, diesen zu deaktivieren, die gespeicherten Daten zu löschen bzw. zu sperren.
Tja, ich würde sagen, das sind gleich drei Wünsche auf einmal. Und wer ungern russisches Abmahnroulette spielt und daher nicht darauf warten will, bis die Änderungen in das nach wie vor nicht terminierte SP 2.2 einfließen, findet hier eine Einbauanleitung.
Ein Satz vorab
Wie immer gilt: Alle Änderungen beziehen sich auf xt:Commerce 3.04 SP2.1, der Einbau erfolgt auf eigene Gefahr und nicht nur für diese Anpassungen empfiehlt sich ein Backup, Fragen werden in den Kommentaren beantwortet.
Datenschutzerklärung abnicken
Zunächst mal sollte man wie bei Lübeck online vorgeschlagen und sofern noch nicht vorhanden eine Seite mit der Datenschutzerklärung erstellen und diese in eine der beiden Boxen verlinken.
Als nächsten Schritt gilt es, ähnlich wie bei den AGBs während des Checkout-Prozesses, beim Registrieren eines Accounts oder beim Checkout über den Gastaccount eine Checkbox zu integrieren, mit der der Kunde bestätigt, die Datenschutzrichtlinien akzeptiert zu haben.
Alle Angaben für create_account.php gelten analog auch für create_guest_account.php:
In create_account.php nach
$smarty->assign('INPUT_TEL', xtc_draw_input_fieldNote(array ('name' => 'telephone', 'text' => (xtc_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? '<span class="inputRequirement">'.ENTRY_TELEPHONE_NUMBER_TEXT.'</span>' : ''))));
suchen und davor einfügen:
// BEGIN privacy policy $smarty->assign('PRIVACY_LINK', $main->getContentLink(2, ACCEPT_PRIVACY, "class='popup'")); $smarty->assign('CHECKBOX_PRIVACY', '<input type="checkbox" value="privacy" name="privacy" id="field_privacy" />'); // END privacy policy
Dadurch haben wir im Template sowohl einen Link auf die Datenschutzerklärung als auch die Checkbox zur Verfügung. Die 2 in $main->getContentLink steht dabei für die coID (Sprachgruppe) der Datenschutzerklärung, die man im Contentmanager findet oder indem man auf den Link klickt.
Wer nicht die jsPopUp-Klasse von Dirk Ginader nutzt muss natürlich selber wissen, ob und wie er die Erklärung in einem neuen Fenster öffnet.
Damit der Link auch einen sinnvollen Text hat, muss man die Konstante für alle im Einsatz befindlichen Sprachen definieren, beispielsweise in lang/german/german.php:
define('ACCEPT_PRIVACY', 'Ich akzeptiere Ihre Datenschutzrichtlinien');
Das platziert man dann an geeigneter Stelle im Template, sowohl in templates/[template]/modules/create_account.html als auch in templates/[template]/modules/create_account_guest.html, was bei mir am Ende so aussieht:
<fieldset> <legend>{#title_privacy#}</legend> <p class="conditions"> {$CHECKBOX_PRIVACY} <label for="field_privacy">{$PRIVACY_LINK}</label><span class="inputRequirement">*</span> </p> </fieldset>
Jetzt nur noch prüfen, ob die Box auch angehakt war und das ganze zusammen mit allen Informationen in die Datenbank schreiben. Dazu widmen wir uns noch einmal create_account.php:
Nach
$telephone = xtc_db_prepare_input($_POST['telephone']);
fügend wir folgendes ein:
// BEGIN privacy policy $privacy = xtc_db_prepare_input($_POST['privacy']); // END privacy policy
Vor
if ($customers_status == 0 || !$customers_status)
fügen wir folgendes ein:
// BEGIN privacy policy if(!isset($privacy) || empty($privacy)) { $error = true; $messageStack->add('create_account', ENTRY_PRIVACY_POLICY_ERROR); } // END privacy policy
Hier trennen sich die Wege von create_account.php und create_guest_account.php. In create_account.php ändern wir
$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_added' => 'now()','customers_last_modified' => 'now()');
zu
$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_added' => 'now()','customers_last_modified' => 'now()', 'privacy' => 'now()');
und in create_guest_account.php ersetzen wir
$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'account_type' => '1', 'customers_password' => xtc_encrypt_password($password));
mit
$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'account_type' => '1', 'customers_password' => xtc_encrypt_password($password), 'privacy' => 'now()');
Zwei Sachen sind noch zu erledigen, dann sind wir mit dem ersten Punkt auch schon durch. Die Fehlermeldung ist in allen Sprachdateien zu hinterlegen
define('ENTRY_PRIVACY_POLICY_ERROR', 'Sofern Sie unsere Datenschutzrichtlinien nicht akzeptieren können wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen und auch kein Konto für Sie anlegen!');
und die Tabelle customers ist um das neue Feld privacy zu erweitern:
ALTER TABLE `customers` ADD `privacy` DATETIME NOT NULL AFTER `refferers_id` ;
Da die Codedarstellung in WordPress eher dürftig ist gibt es das ganze in dateiweiser Abfolge auch noch einmal in Textform.
Link in der E-Mail
Man kann den Link zur Datenschutzerklärung natürlich einfach kopieren und in die fraglichen Mailtexte templates/[template]/mail/[language]/order_mail.[txt|html] sowie templates/[template]/mail/[language]/create_account_mail.[txt|html] einfügen. Ein hartkodierter Link ist aber nicht wirklich die Ideallösung und sorgt bei einem eventuellen Domainwechsel für unbändige Freude und in der Form http://www.shop.de/shop_content.php/coID/2/content/Privatsphaere-und-Datenschutz/ sieht das auch nicht wirklich prickelnd aus.
Da hilft ein kurzer Eingriff in create_account.php, dort ersetzen wir
$module_content = array ('MAIL_NAME' => $name, 'MAIL_REPLY_ADDRESS' => EMAIL_SUPPORT_REPLY_ADDRESS, 'MAIL_GENDER' => $gender, 'MAIL_ADDRESS' => $gender =="m" ? EMAIL_ADDRESS_M : EMAIL_ADDRESS_F, 'MAIL_LASTNAME' => $lastname, 'MAIL_FIRSTNAME' => $firstname, 'MAIL_USERNAME' => $email_address, 'MAIL_PASSWORD' => $password);
mit
$module_content = array ('MAIL_NAME' => $name, 'MAIL_REPLY_ADDRESS' => EMAIL_SUPPORT_REPLY_ADDRESS, 'MAIL_GENDER' => $gender, 'MAIL_ADDRESS' => $gender =="m" ? EMAIL_ADDRESS_M : EMAIL_ADDRESS_F, 'MAIL_LASTNAME' => $lastname, 'MAIL_FIRSTNAME' => $firstname, 'MAIL_USERNAME' => $email_address, 'MAIL_PASSWORD' => $password, 'HTTP_SERVER' => HTTP_SERVER);
. In send_order.php fügen wir nach
$smarty->assign('PAYMENT_METHOD', $payment_method);
folgendes ein:
$smarty->assign("HTTP_SERVER", HTTP_SERVER);. In den Bestellmails steht dann {$HTTP_SERVER} als Smarty-Variable zur Verfügung, in <tt>create_account_mail.[txt|html]</tt> ist es {$content.HTTP_SERVER}. Dem eher unschönen Link rücken wir anschließend noch mit mod_rewrite zu Leibe und erstellen uns eine .htaccess-Datei oder ergänzen eine bereits vorhandene:
### BEGIN privacy policy ### RewriteRule ^datenschutz/$ shop_content.php?coID=2&language=de RewriteRule ^privacy/$ shop_content.php?coID=2&language=en ### END privacy policy ###
Konto löschen
Aller guten Dinge sind drei. Fangen wir bei den Sprachdateien an. In lang/[language]/[language].php brauchen wir für die Breadbrumb-Navigation entsprechende Angaben:
define('NAVBAR_TITLE_1_ACCOUNT_DELETE', 'Ihr Konto'); define('NAVBAR_TITLE_2_ACCOUNT_DELETE', 'Konto löschen');
Der Rest wird aus lang/[language]/lang_[language].conf beigesteuert. Den Abschnitt [account] ergänzen wir:
text_delete = 'Konto löschen'
Und den Abschnitt fügen wir komplett neu hinzu:
[account_delete] heading_delete_account = 'Konto löschen' heading_account_deleted = 'Konto gelöscht' delete_account = 'Mit einem Klick auf den Weiter-Button löschen Sie Ihr Konto bei uns. Dadurch werden alle mit diesem Konto verknüpften personenbezogenen Daten gemäß den gesetzlichen Vorgaben unwiederbringlich gelöscht bzw. gesperrt.<p>Bitte beachten Sie, dass sie nach dem Löschen des Kontos daher auch keinerlei Zugriff mehr auf ihre getätigten Bestellungen haben!</p><p>Sie können natürlich jederzeit wieder ein neues Konto erstellen.' account_deleted = 'Ihr Konto wurde erfolgreich gelöscht.' </p>
In includes/filenames.php definieren wir noch einen Dateinamen für unsere Datei:
define('FILENAME_ACCOUNT_DELETE', 'account_delete.php');
In account.php bauen wir uns einen Link zur Löschfunktion, nach
$smarty->assign('LINK_PASSWORD', xtc_href_link(FILENAME_ACCOUNT_PASSWORD, '', 'SSL'));
fügen wir
$smarty->assign('LINK_DELETE', xtc_href_link(FILENAME_ACCOUNT_DELETE, '', 'SSL'));
ein.
Die Variable {$LINK_DELETE} steht somit im Template templates/[template]/module/account.html zur Verfügung und kann dort an passender Stelle, beispielsweise unter dem Link zur Passwortänderung, platziert werden.
Auch diese Änderungen finden sich der Übersicht halber nochmal in der Textdatei, account_delete.php und das zugehörige Template stehen ebenfalls zum Download bereit.
Wichtiger Hinweis: Derzeit sieht die “Account löschen”-Funktionalität keine weiteren Sicherheitsabfragen vor! Wer das braucht muss es selbst implementieren! Da xt:Commerce sämtliche Informationen bei einer Bestellung in die order-Tabelle kopiert sind durch das Löschen eines Benutzeraccounts weiterhin alle Rechnungen im vollen Umfang abrufbar.
[tags]xtc, xt:commerce, datenschutz, privacy[/tags]


Du machst dir das viel zur kompliziert. Einfach in phpMyAdmin auf den Reiter ‘SQL’ klicken und den Code aus der Anleitung einfügen. Fertig.
Hi, vielen Dank – das hat geholfen.
Noch eien Frage, im creat_account Formular – ich möchte über der Beschriftung “Datanschutz” stehen haben, wie und wo kann ich das definieren, es soll so aussehen wie bei “Anrede” und “Persönliche Daten”?
Siehe Screenshot:
http://img206.imageshack.us/img206/1418/dsri3.jpg
Ich bedanke mich schon im Vorraus für deine Geduld und Hilfe
Super Matt, vielen Dank!
Hat mit kleinen Änderungen bei 303 gepaßt.
Habe das mit den Datenschutzeingebaut.Funktioniert aber nicht so richtig bei mir. Habe die Version SP1.
Da ich mit der beschriebenen Variante immer diese “getcontentlink” Fehlermeldung bekamm habe ich eine kleine Änderung vorgenommen.
Ich habe den Code von:
$smarty->assign(‘PRIVACY_LINK’, $main->getContentLink(2, ACCEPT_PRIVACY, “class=’popup’”));
in folgenden abgeändert:
smarty->assign(‘PRIVACY_LINK’,’ ‘.ACCEPT_PRIVACY.’‘);
Nun habe ich zwar keine “getcontentlink” Fehlermeldung mehr, doch folgendes Problem ist aufgetreten.
Das Problem:
Der Kunde gibt seine Daten ein klickt die Ckeckbox für die Datenschutzbestimmungen ein und klickt nun auf weiter. Leider kommt der Kunde hier nicht weiter und die Seite bleibt bestehen.
Welche Lösung gibt es?
Gruß
Andy
Hi Matt, tolle Arbeit. Hat alles super geklappt. Hast Du noch eine Idee, wie man die Widerrufsbelehrung in die versendete email einbaut, wie der Gesetzgeber das jetzt vorschreibt?
LG Naggi
Super Anleitung, die du hier hast. Nur ich habe ein Problem, ich komme nach dem Einbau nichts von Datenschutz angezeigt. Es ist alles wie vorher auch keine Fehlermeldung o.ä.
Vielleicht könnt Ihr mir helfen.
Am Ende der Anleitung habe ich ein Brett vorm Kopf.
account_delete.php:
/*———————————————————————————————–*/
In das Stammverzeichnis des Shops kopieren
/*———————————————————————————————–*/
account_delete.html:
/*———————————————————————————————–*/
In das Templateverzeichnis in den Ordner modules kopieren
Wo soll ich das hinkopieren die Dateien finde ich bei mir nicht.
@Naggi: In die E-Mail kann man das ja einfach direkt reinschreiben (je Sprache halt einmal)
@satti: Die Dateien sind im ZIP-Archiv enthalten
Hi Matt,
ich habe Deine Anleitung befolgt, leider kommt der Kunde nach dem Anhaken der Checkbox nicht weiter.
Woran kann das liegen? Version ist die aktuelle xt:c
Danke,
pat
Hallo,
hab ein kleines Problem.
Auf Rat unserer Anwalts möchte ich gerne beim Anlegen eines Kundenkontos das akzeptieren der Datenschutzerklärung durch anhaken erreichen.
Ich hab das soweit auch schon in unserem Testsystem (wie oben erklärt) umgesetzt. Es klappt alles bis auf das nach dem anhaken der Erklärung kein Konto angelegt wird – es kommt auch keine Fehlermeldung. Könnte mir vielleicht jemand einen Tipp geben.
Setze Version 3.0.4 ein.
Danke!
Melanie
Hall,
erstmal vielen Dank für die Anleitungen, ich bin totale Anfängerin, trotzdem hat alles wunderbar funktioniert.
Ein Problem habe ich noch: mein Anwalt sagt, die Datenschutzerklärung muß immer abgenickt werden, wenn persönliche Daten abgefragt werden. Der neuralgische Punkt ist der Wechsel der Adresse, bei der Bestellung bei der Versandadresse.
Ich habe schon “nach Gefühl” alles in checkout_shipping_address.php und templ/module/checkout_shipping_address.html verändert. Die Checkbox ist sichbar, der Link öffnet sich, nur bei “weiter” erscheint die Fehlermeldung:
1054 – Unknown column ‘privacy’ in ‘field list’
insert into address_book (customers_id, entry_firstname, entry_lastname, entry_street_address, entry_postcode, entry_city, entry_country_id, privacy, entry_gender) values (’1′, ‘aaaaaaaaaaa’, ‘aaaaaaaaaaaa’, ‘aaaaaaaaaaa’, ‘aaaaaaa’, ‘aaaaaaaaa’, ’81′, now(), ‘f’)
[XT SQL Error]
SQL wollte ich um die Privacy Tabelle in address_book erweitern mit:
ALTER TABLE ‘customers’ ADD ‘privacy’ DATETIME NOT NULL AFTER ‘refferers_id’;
….ging nicht, weiß auch nicht recht was ich da mache.
Wer kann mir helfen?
du musst natürlich die Tabelle ‘address_book’ erweitern, dein SQL würde ‘customers’ erweitern.
Hallo Matt,
vielen Dank für die Antwort, den Befehl habe ich so verändert:
ALTER TABLE `address_book` ADD `privacy` DATETIME NOT NULL AFTER `refferers_id`
bekomme dann aber die Fehlermeldung:
#1054 – Unknown column ‘refferers_id’ in ‘address_book’
Was soll ich statt dessen schreiben? Kann ich ‘refferers_id’ auslassen?
Viele Grüße Yella
Versuch mal das:
ALTER TABLE `address_book` ADD `privacy` DATETIME NOT NULL
Danke,Danke,Danke,Danke,Danke,
funktioniert soweit, abnicken wird überprüft, mir fehlt nur noch die Fehlermeldung, jetzt wird man wieder auf die Adress-Seite geleitet, ohne Kommentar, mein Hauptproblem ist aber gelöst,
vielen Dank, Yella
Hallo Matt,
ich hätte folgende Frage, wie kann mann die AGB als Text in die order_mail.txt/html einflügen.
Deine Anleitung ist wirklich gut !
Viele Grüsse
Hallo,
ich habe es alles versucht die DSE einzubauen ohne erfolg!!
Kann mir jemand per email ein eineitung schieken!Danke schön.
MfG Rifko
Hallo,
kann es sein das in den Codes überall statt ‘ ein ` drin ist oder sich das bei mir beim übertragen ändert ?
gruß aramis
hat sich erledigt, habs gerade gesehen mit dem Show Plain Code :-)
gruß aramis
Hallo Matt,
Super Sache mit deinem Script. Funktioniert bei mir auch alles. Nur habe ich jetzt ein Problem.
Für Händler habe ich ein Testaccount angelegt. Wenn sich jetzt ein Händler mit den Test-Zugangsdaten einloggt, hat er natürlich auch die Möglichkeit diesen zu löschen. gibt es eine Möglichkeit diesen speziellen Account(Testaccount) so zu konfigurieren das dieser nicht gelöscht werden kann?
Das selbe habe ich mich auch bei meinem Admin Account gefragt. Was würde passieren wenn ich diesen lösche. Wäre ja fatal wenn das passieren würde.
VG mobiman
Such mal nach
$smarty->assign('LINK_DELETE', xtc_href_link(FILENAME_ACCOUNT_DELETE, '', 'SSL'));in der account.php und änder das in
if(isset($_SESSION["customer_id"]) && $_SESSION["customer_id"]!="1") { $smarty->assign('LINK_DELETE', xtc_href_link(FILENAME_ACCOUNT_DELETE, '', 'SSL')); }Dann erscheint der Löschlink beim Account mit der ID 1 (was mit hoher Wahrscheinlichkeit dein Admin-Account ist) nicht mehr.
Bei mehreren musst du das entsprechend erweitern:
if(isset($_SESSION["customer_id"]) && $_SESSION["customer_id"]!="1" && $_SESSION["customer_id"]!="25") { $smarty->assign('LINK_DELETE', xtc_href_link(FILENAME_ACCOUNT_DELETE, '', 'SSL')); }wobei du 25 durch die ID ersetzen musst, die dein Test-Account hat. Ab mehr als zwei würde ich die, denen kein Löschlink angezeigt werden soll, aber in ein Array schreiben und mit !in_array() die Überprüfung vornehmen.
Hallo Matt,
Super ein riesen Dank von mir. Funktioniert tatellos. Hab das auch gleich auf LINK_EDIT und LINK_PASSWORD angewand. Somit kann der Testzugang jetzt nicht mal mehr verändert werden. :-)
Danke
Gruß mobiman
hallo. habe alles gemäß anleitung gemacht. wirklich gut nachvolziehbar. danke für den tollen support. allerdings habe ich ein problem: in der text anleitung ist die rede von ‘account_delete.php und account_delete.html hochladen’. wo bekomme ich diese dateien? vielen dank vorab für eine antwort :-)
lg mmuders
Gibt’s im Download:
http://www.blogpotato.de/wp-content/uploads/2007/02/privacy-policy.zip
Vielen Dank für das Tutorial. Es hat mir sehr geholfen. Besten Dank!
Danke für die ausführliche Anleitung. Klappt soweit alles prima bei meinem Shop.
Eines wurde dennoch vergessen:
In checkout_payment.php muss erneut der Datenschutz abgenickt werden. Hier werden zwar schon die AGBs abgenickt, darunter muss aber zusätzlich der Datenschutz abgenickt werden. Kann ich das stringent nach der Vorlage umsetzen, ohne was in der DB ändern zu müssen?
gibts Hilfe?
chichi
Warum sollte man das in der checkout_payment.php noch einmal abfragen wollen, ob er dem Datenschutz, dem er durch die Registrierung/Gastkonto schon zugestimmt hat, noch einmal zustimmt?
Hallo Matt, danke für deine Antwort. Ich denke der Datenschutzhinweis -klick- ist hier fällig weil auf checkout_payment.php z.B. zusätzlich private Konto- und Bankdaten angegeben werden, also auch hier ein Datenschutz, oder wäre das doppelt gemoppelt. Könnte ja sein, dass jemand hier sich dran stört, weil weitere private Daten abgefragt werden. Bestimmt ist das Faß so dicht, was denkst du?
chichi
Das ist definitiv doppelt gemoppelt, die Datenschutzrichtlinien, auf die verlinkt ist und die er bei der Anmeldung akzeptiert, sollten natürlich alle möglichen Daten, die erfasst werden, enthalten, du hast ja keine zwei verschiedenen Richtlinien.
Perfekt, hat auf Anhieb funktioniert, VIELEN DANK!!! Hat Geld und schlaflose Nächte gespart. Endlich ´mal eine Anleitung ohne Arroganz und auch für mich (FAST_DAU) verständlich erklärt. Hab ich´s schon gesagt? DANKE!!!
LG Dr. Reval
Habe es genau nach Anleitung gemacht, aber leider wird die Checkbox unter das create_account Formular gesetzt. Woran kann das liegen?
Ohne genau zu wissen, wie das Template aussieht, ist es nicht möglich, das zu sagen. Aber vermutlich hast du die Checkbox außerhalb des entsprechenden Blocks platziert.
Zum Thema Datenschutzerklärung abnicken. Ich möchte mich an dieser Stelle, für die super Arbeit von Dir Matt und den “Kommentatoren” bedanken. Funktioniert alles super. Es geht aber auch so: $smarty->assign(‘PRIVACY_LINK’,'#‘ . ACCEPT_PRIVACY .’#’);
Auch mit einem simplen Link, da meine Datenschutzerklärung nicht direkt auf coID=2 liegt. Ciao Matth
Lasst sich im WordPress schlecht darstellen, es muss natürlich heißen:
/create_account.php
$smarty->assign(‘PRIVACY_LINK’,'#‘ . ACCEPT_PRIVACY .’#’);
$smarty->assign(‘PRIVACY_LINK’,'# href=”EureURL” rel=”nofollow” target=”_blank”>’ . ACCEPT_PRIVACY .’ #’);
Verweis innerhalb # bis # setzen.
Vielen Dank, Matt!
Auch bei einer Installation bei mir hat es gut funktioniert!
Ich nutze die 3.0.4 SP 2.2 und auch hier funktioniert soweit alles.
Nur zur Info.
Ich denke man sollte auch die Adressbucheinträge mit löschen wenn der User sich löscht.
Dazu muss die account_delete.php erweitert werden.
$delete_customer_query = xtc_db_query(“delete from “.TABLE_ADDRESS_BOOK.” where customers_id = ‘”.(int) $_SESSION['customer_id'].”‘”);
Gruß