knut32 Posted August 23, 2012 Share Posted August 23, 2012 Hallo, ich häng mich mal mit rein. Und twar hab ich ein ähnliches Problem und doch ganz anders. Ich muß nämlich die Eingabe des Geburtsdatums zum Pflichtfeld machen. Also eigentlich das genaue Gegenteil. Ihr habt so schön gezeigt wie man die Felder ausblendet. Aber wie mach ich das Ganze zur Pflichteingabe? Link to comment Share on other sites More sharing options...
BluTiGeS Posted August 23, 2012 Share Posted August 23, 2012 (edited) probier mal aus wenn du in das <p class="select" noch ein required einfügst: <p class="select required"> wenn das nicht geht muss man wieder am core rumbasteln Edited August 23, 2012 by BluTiGeS (see edit history) Link to comment Share on other sites More sharing options...
knut32 Posted August 24, 2012 Author Share Posted August 24, 2012 Also ich habs hinbekommen. Ist eigentlich zu einfach um es zu finden. Einfach im Adminbereich unterm Tab Kunden ganz nach unten scrollen. Dort drückt man dann auf Pflichtfelder setzen und wählt im aufgehenden Select den birthday aus. Dann noch in der order-opc-new-account.tpl bzw. der authentication.tpl im Ordner module/germanext/themes und setzt beim p ein required und ergänzt die <sup>*</sup> Und schon läuft die Sache. Wenn man germanext nicht nutzt, sollte das Ganze im Standardtemplate zu ändern sein. Link to comment Share on other sites More sharing options...
guest* Posted September 2, 2012 Share Posted September 2, 2012 Dazu ist kein "Germanext" Modul nötig. Ist mittlerweile eine Standardfunktion von Prestashop -> Tabreiter Kunden. Dann ganz unten: Setzen Sie die Pflichtfelder für diesen Bereich -> birthday auswählen und schon wird Geburtstag zu einem Pflichtfeld. Link to comment Share on other sites More sharing options...
Kartal1984 Posted May 24, 2013 Share Posted May 24, 2013 Hallo, kann man das Geburtsdatum zu einem Pflichtfeld machen, wenn der jenige Rechnungskauf wählt? Link to comment Share on other sites More sharing options...
ImTheOther Posted October 15, 2013 Share Posted October 15, 2013 Hallo, das Feld Birthday gibt es bei mir nicht. Link to comment Share on other sites More sharing options...
barnoLino Posted November 29, 2013 Share Posted November 29, 2013 (edited) Bei mir gibt es leider auch nur folgende Felder: - newsletter - optin Was muss ich ändern um "birthday" angezeigt zu bekommen? Danke schon mal :-) Edited November 29, 2013 by barnoLino (see edit history) Link to comment Share on other sites More sharing options...
eleazar Posted November 30, 2013 Share Posted November 30, 2013 (edited) Es geht einfach übers Back Office: Lokalisierung --> Länder --> DeinLand Fenster Adressanzeige rechts daneben auf customer klicken, dann öffnen sich die möglichen Optionen Dann den Cursor dahin, wo das Feld 'birthday' erscheinen soll (alternativ hättest du ins Fenster auch einfach 'Customer:birthday' Nun einen Doppelklick auf 'birthday' Die Option "Mein aktuell modifiziertes Design verwenden" anklicken Oben rechts im Fenster auf den grünen Button Speichern klicken Bei der Anmeldung gibt es nun ein neues Pflichtfeld Geburtsdatum. Edited November 30, 2013 by eleazar (see edit history) Link to comment Share on other sites More sharing options...
barnoLino Posted December 1, 2013 Share Posted December 1, 2013 Danke für die Antwort. Ich habe die Einstellungen so vorgenommen, leider hat sich nichts geändert. Anbei das Bild der Einstellung. Hab ich doch einen Fehler gemacht? Link to comment Share on other sites More sharing options...
*guest Posted December 1, 2013 Share Posted December 1, 2013 (edited) Für Prestashop 1.5.6.1. Vermutlich auch für alle anderen PS 1.5.-Versionen auch (aber nicht von mir getestet): Um das Geburtsdatum als Pflichtfeld zu machen (ist ja eigentlich im Standardtheme schon eingebunden, also es wird schon angezeigt, ohne dass man extra Anpassungen an den Ländern machen muss), musst du folgende Datei ändern: /classes/Customer.php ca. Zeile 168 einfach wie folgt ergänzen (required=> true): 'birthday' => array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate', 'required' => true), Die Datei von deinem FTP holen und mit Notepad z.B. bearbeiten und dann wieder an der gleichen Stelle hochladen. Habe noch schnell ein Bild angehängt, damit du siehst, dass es funktioniert. Geburtstag wurde nicht angegeben und beim Speichern wurde die Fehlermeldung ausgeworfen (oben rosa) Edited December 1, 2013 by cd2500 - julie (see edit history) 1 Link to comment Share on other sites More sharing options...
barnoLino Posted December 2, 2013 Share Posted December 2, 2013 Auch dir, danke ich für deine Antwort. Ich habe die Datei wie von dir beschrieben geändert. Nun darf der Punkt Geburtstag nicht leer bleiben. Das funktioniert soweit. Nur leider nimmt er es auch nicht mehr an, wenn ich eins angebe :-(. Vielleicht liegt das aber an meinem Problem, dass er checkbox's oder dropdown's die ich auf einer Seite verändere nicht annimmt. Wie hier beschrieben: http://www.prestashop.com/forums/topic/292373-fehler-im-one-page-checkout/?do=findComment&comment=1474134 Hat dazu jemand eine Idee? Link to comment Share on other sites More sharing options...
*guest Posted December 3, 2013 Share Posted December 3, 2013 @barnoLino - ich habe es soeben getestet. Habe kein Problem damit. Nachdem ein Geburtsdatum eingegeben wurde, kann man sich ganz normal anmelden, bzw. den Vorgang abschliessen. Link to comment Share on other sites More sharing options...
Wudang Posted December 12, 2014 Share Posted December 12, 2014 Auch dir, danke ich für deine Antwort. Ich habe die Datei wie von dir beschrieben geändert. Nun darf der Punkt Geburtstag nicht leer bleiben. Das funktioniert soweit. Nur leider nimmt er es auch nicht mehr an, wenn ich eins angebe :-(. Vielleicht liegt das aber an meinem Problem, dass er checkbox's oder dropdown's die ich auf einer Seite verändere nicht annimmt. Wie hier beschrieben: http://www.prestashop.com/forums/topic/292373-fehler-im-one-page-checkout/?do=findComment&comment=1474134 Hat dazu jemand eine Idee? Muss den Thread mal wieder aufwärmen. ;-) Habe den 1.6.9 Shop und genau dasselbe Problem.. Wenn ich die Änderung im PHP mache kann ich den Registrierablauf nicht fortsetzen. Egal ob BOD eingegeben wurde oder nicht, er beanstandet ständig es sei Pflicht und fehle. Habe es nu wieder rückgangig gemacht damit die Leute wieder Anmelden können :-) Weiss jemand weiter? Danke Link to comment Share on other sites More sharing options...
marcus b Posted December 18, 2014 Share Posted December 18, 2014 (edited) Hallo,wir nutzen u.a. die 1.6.0.6.Hier mal die Schritte die dann zu dem gewünschten Verhalten geführt haben:1.) classes/Customer.php 'birthday' => array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate'), Ersetzen mit: 'birthday' => array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate', 'required' => true), 2.) In der prestashop/controllers/front/AuthController.php folgenden Code einsetzen: <div class="form-group"> <label>{l s='Date of Birth'} <sup>*</sup></label> 3.) und damit das System nicht meckert obwohl der Kunde ein Geburtsdatum angegeben hat - zu finden unter: presta/classes/ObjectModel.php if (isset($data['required']) && $data['required'] && empty($value) && $value !== '0') { if (!$this->id || $field != 'passwd') $errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is required.'); } ersetzen mit: if(isset($data['required']) && $data['required'] && $field == 'birthday') { if (!@checkdate(Tools::getValue('months'), Tools::getValue('days'), Tools::getValue('years')) && !(Tools::getValue('months') == '-' && Tools::getValue('days') == '-' && Tools::getValue('years') == '-')) { $errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is required.'); } } elseif (isset($data['required']) && $data['required'] && empty($value) && $value !== '0') { if (!$this->id || $field != 'passwd') { $errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is required.'); } } Vielleicht hilft es ja jemand weiter.Gruss Edited December 18, 2014 by marcus b (see edit history) Link to comment Share on other sites More sharing options...
Made Steam Posted May 15, 2017 Share Posted May 15, 2017 Hallo, wir nutzen u.a. die 1.6.0.6. Hier mal die Schritte die dann zu dem gewünschten Verhalten geführt haben: 1.) classes/Customer.php 'birthday' => array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate'), Ersetzen mit: 'birthday' => array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate', 'required' => true), 2.) In der prestashop/controllers/front/AuthController.php folgenden Code einsetzen: <div class="form-group"> <label>{l s='Date of Birth'} <sup>*</sup></label> 3.) und damit das System nicht meckert obwohl der Kunde ein Geburtsdatum angegeben hat - zu finden unter: presta/classes/ObjectModel.php if (isset($data['required']) && $data['required'] && empty($value) && $value !== '0') { if (!$this->id || $field != 'passwd') $errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is required.'); } ersetzen mit: if(isset($data['required']) && $data['required'] && $field == 'birthday') { if (!@checkdate(Tools::getValue('months'), Tools::getValue('days'), Tools::getValue('years')) && !(Tools::getValue('months') == '-' && Tools::getValue('days') == '-' && Tools::getValue('years') == '-')) { $errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is required.'); } } elseif (isset($data['required']) && $data['required'] && empty($value) && $value !== '0') { if (!$this->id || $field != 'passwd') { $errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is required.'); } } Vielleicht hilft es ja jemand weiter. Gruss Hi Marcus, ich habe den 1. punkt so umgeschrieben wie es steht aber leider finde ich punkt 2 nicht wie es von dir beschrieben ist bzw. den Pfad: prestashop/controllers/front/AuthController.php mein Pfad: /madesteam.de/controllers/front/AuthController.php (also prestashop gibt es bei mir nicht). und in meiner Datei finde ich diese: <div class="form-group"> <label>{l s='Date of Birth'} <sup>*</sup></label> nicht. Wenn du mir helfen könntest oder jemand anderes wäre ich sehr dankbar. Prestashop Version 1.6.1.12 Link to comment Share on other sites More sharing options...
Whiley Posted May 15, 2017 Share Posted May 15, 2017 Hallo Made Steam, sich an so einen alten Post dranzuhängen, der sich auf eine andere PS-Version bezieht, hat wenig Sinn. Für 1.6.1.12 erstellst du zwei neue Dateien (am Besten mit notepad++) <?phpclass Customer extends CustomerCore{ public function __construct($id = null) { self::$definition['fields']['birthday'] = array( 'type' => self::TYPE_DATE, 'validate' => 'isBirthDate', 'required' => true ); parent::__construct($id); }} Diese speicherst du unter dem Namen Customer.php ab <?phpclass AuthController extends AuthControllerCore{ protected function processSubmitAccount() { $birthday = (empty($_POST['years']) ? '' : (int)Tools::getValue('years').'-'.(int)Tools::getValue('months').'-'.(int)Tools::getValue('days')); if ($birthday) { $GLOBALS['_POST']['birthday'] = $birthday; } return parent::processSubmitAccount(); }} Diese speicherst du unter dem Namen AuthControllerCore.php ab Beide Dateien kopierst du über FTP in das Verzeichnis: /override/controllers/front Dann wechselst du ins Verzeichnis: /cache und löscht dort die Datei (die legt Prestashop neu an) class_index.php Viel Erfolg Whiley Link to comment Share on other sites More sharing options...
Made Steam Posted May 16, 2017 Share Posted May 16, 2017 Hi Whiley, nach dem ich die dateien bei meinem hoster zum ursprung zurück installiert habe (dannach meine seite getestet alles wie vorher) habe ich es so gemacht wie du es mir beschrieben hast. Vielen Dank! Aber leider habe ich auch das problem das mein shop trotz Geburtsdatums eingabe meckert. Was habe ich nicht richtig gemacht oder muss ich noch was anderes eingeben? Eine bitte hätte ich noch, ist es möglich zum Geburtsdatum ein * hinzuzufügen? Ich danke dir im Vorraus und hoffe das es ok ist hier zu Schreiben. MfG MaDe Steam Link to comment Share on other sites More sharing options...
Whiley Posted May 16, 2017 Share Posted May 16, 2017 Eine bitte hätte ich noch, ist es möglich zum Geburtsdatum ein * hinzuzufügen? Das machst du am einfachsten bei den Übersetzungen: Backoffice-->Lokalisierung-->Übersetzungen dort öffnest du die Übersetzungen für die Front u. deutsch dann navigierst du zu AUTHENTICATION, hier findest du Geburtsdatum , gibst den * dazu ein und speicherst ab. Aber leider habe ich auch das problem das mein shop trotz Geburtsdatums eingabe meckert. Soll was heißen? Grüsse Whiley Link to comment Share on other sites More sharing options...
Made Steam Posted May 16, 2017 Share Posted May 16, 2017 (edited) Ich meine damit das obwohl ich ein geburtsdatum eingegeben habe die Fehlermeldung geburtsdatum erforderlich erscheint. AUTHENTICATION im FTP server denke ich? aber in welchem Pfad? LG Deniz Edited May 16, 2017 by Made Steam (see edit history) Link to comment Share on other sites More sharing options...
Whiley Posted May 16, 2017 Share Posted May 16, 2017 ich habe die Modifikation wie oben beschrieben gerade mal im Demo-Shop gemacht, http://quintilius-varus.de/de/authentifizierung?back=my-account#account-creation bitte dort mal testen Grüsse Whiley Link to comment Share on other sites More sharing options...
Made Steam Posted May 16, 2017 Share Posted May 16, 2017 Danke, klappt bei dir Super! Wäre schön wenn es bei mir auch klappen könnte. LG Deniz Link to comment Share on other sites More sharing options...
Whiley Posted May 16, 2017 Share Posted May 16, 2017 Naja, irgendwo muß der Fehler ja stecken. Kopiere mal meine Dateien ins override-Verzeichnis und danach unbedingt wieder: ins Verzeichnis /cache und lösche dort wieder die Datei (die legt Prestashop neu an) class_index.php AuthController.php Customer.php Link to comment Share on other sites More sharing options...
Made Steam Posted May 18, 2017 Share Posted May 18, 2017 Hi Whiley, ich habe deine dateien AuthController.php und Customer.php ins override verzeichnis kopiert und im cache verzeichnis class_index.php gelöscht aber leider funktioniert es nicht. Fehlermeldung geburtsdatum erforderlich trotz eingabe und mit dem Sternchen einfügen unter Lokalisierung > Übersetzungen - Front office übersetzung - Sprache Deutsch > Authentication erscheint leider auch kein * (Sternchen). Liegt es vielleicht an den Fehlermeldungen bzw. Ausrufezeichen? (Bild) Link to comment Share on other sites More sharing options...
rictools Posted May 18, 2017 Share Posted May 18, 2017 Das ist keine Fehlermeldung, sondern nur ein Hinweis, der da immer steht. Link to comment Share on other sites More sharing options...
Made Steam Posted May 18, 2017 Share Posted May 18, 2017 wenn ich alle daten inkl. geb. datum eingebe komme ich leider nicht weiter im bestellverlauf. Seite scrollt immer hoch zur meldung. (Es gibt 1 Fehler aufgetreten: Geburtsdatum erforderlich!) LG Link to comment Share on other sites More sharing options...
Whiley Posted May 18, 2017 Share Posted May 18, 2017 Lösche mal den Smarty-Cache im BO unter Erweiterte Einstllungen -->Leistung und stelle die Templatekompilierung dort auf "Kompilierung erzwingen" Link to comment Share on other sites More sharing options...
Made Steam Posted May 19, 2017 Share Posted May 19, 2017 Hat leider auch kein Erfolg gebracht. Link to comment Share on other sites More sharing options...
BagHira Posted May 20, 2017 Share Posted May 20, 2017 Overrides sind aber schon zugelassen? Erweiterte Einstellungen -> Leistung -> Link to comment Share on other sites More sharing options...
Made Steam Posted May 20, 2017 Share Posted May 20, 2017 Overrides sind aber schon zugelassen? Erweiterte Einstellungen -> Leistung -> Ja sind Sie. Habe sicherheitshalber Bilder hinzugefügt. Danke Holger. LG Deniz Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now