- Posts: 110
- Thank you received: 4
[SOLVED] Custom Field Format for Date-Field
14 years 2 months ago - 14 years 3 weeks ago #58757
by mike
[SOLVED] Custom Field Format for Date-Field was created by mike
Hello there
I have an issue and I don't know, if it's a bug or maybe a feature.
What I want todo is to define 2 additional (custom) fields on the user table.
Date of Birth (user_birthdate): shall have the format dd.mm.yyyy (e.g. 25.08.1970), allowing only dates in the past, also allowing an empty field for "undefined"
Validity until (user_valid_until): shall have the format dd.mm.yyyy (e.g. 25.08.1970), allowing only dates in the future, also allowing an empty field for "undefined"
So far so good. I defined the two fields and entered the format: %d.%m.%Y
This results in an error like:
Then I googled a little bit and found, that maybe the format shall be %d"."%m"."%Y but when I enter the format like this and press "Save", the whole mask changes and then I do not understand what to setup. The system accepts then "dates" like: asdfasdf and the calendar button in the customer/user mask do not work anymore.
Therefore, I think it's maybe a bug? Or I'm doing something completely wrong.
Please check the attached PDF for further information and screenshots of the behavior.
How can I define my desired date-format without getting such trouble?
Thanks for any help!
Best regards
Mike
I have an issue and I don't know, if it's a bug or maybe a feature.
What I want todo is to define 2 additional (custom) fields on the user table.
Date of Birth (user_birthdate): shall have the format dd.mm.yyyy (e.g. 25.08.1970), allowing only dates in the past, also allowing an empty field for "undefined"
Validity until (user_valid_until): shall have the format dd.mm.yyyy (e.g. 25.08.1970), allowing only dates in the future, also allowing an empty field for "undefined"
So far so good. I defined the two fields and entered the format: %d.%m.%Y
This results in an error like:
Code:
Warning: preg_split() [function.preg-split]: Compilation failed: POSIX collating elements are not supported at offset 0 in C:\xampp\htdocs\hikashop\administrator\components\com_hikashop\classes\field.php on line 1280
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\hikashop\administrator\components\com_hikashop\classes\field.php on line 1280
Then I googled a little bit and found, that maybe the format shall be %d"."%m"."%Y but when I enter the format like this and press "Save", the whole mask changes and then I do not understand what to setup. The system accepts then "dates" like: asdfasdf and the calendar button in the customer/user mask do not work anymore.
Therefore, I think it's maybe a bug? Or I'm doing something completely wrong.
Please check the attached PDF for further information and screenshots of the behavior.
How can I define my desired date-format without getting such trouble?
Thanks for any help!
Best regards
Mike
Last edit: 14 years 3 weeks ago by mike.
Please Log in or Create an account to join the conversation.
14 years 2 months ago #58771
by mike
Replied by mike on topic Re: Custom Field Format for Date-Field (maybe a bug?)
Hmm, I think I just found the solution:
The format must be: %d\.%m\.%Y
But the validation: "Only past dates" / "Only future dates" do not work with that setting. Maybe there are some issues/bugs. But I hope, a developer can that decide, what goes wrong.
The format must be: %d\.%m\.%Y
But the validation: "Only past dates" / "Only future dates" do not work with that setting. Maybe there are some issues/bugs. But I hope, a developer can that decide, what goes wrong.
Please Log in or Create an account to join the conversation.
14 years 2 months ago #58777
by mike
Replied by mike on topic Re: Custom Field Format for Date-Field (maybe a bug?)
Just found out something new:
If the field Format of a Date Custom Field is %d\.%m\.%Y and the "Allow" field is set to "Only future dates", the "validation" will show an error if you enter a date e.g. 25.10.2013
"Please select a date in the future".
I think, here is something buggy. Please move the thread to the "BUG"-Section.
If the field Format of a Date Custom Field is %d\.%m\.%Y and the "Allow" field is set to "Only future dates", the "validation" will show an error if you enter a date e.g. 25.10.2013
"Please select a date in the future".
I think, here is something buggy. Please move the thread to the "BUG"-Section.
Please Log in or Create an account to join the conversation.
14 years 2 months ago #58788
by nicolas
Replied by nicolas on topic Re: Custom Field Format for Date-Field (maybe a bug?)
Dots are indeed not supported at separator with the current code.
Can you try to change the line:
$seps = preg_replace('#%.#iU','',$field->field_options);
to:
$seps =str_replace(array('%','.'),array('','\.'),$field->field_options);
in the file administrator/components/com_hikashop/classes/field.php ?
That should hopefully make it work with dots.
Can you try to change the line:
$seps = preg_replace('#%.#iU','',$field->field_options);
to:
$seps =str_replace(array('%','.'),array('','\.'),$field->field_options);
in the file administrator/components/com_hikashop/classes/field.php ?
That should hopefully make it work with dots.
Please Log in or Create an account to join the conversation.
14 years 2 months ago #58898
by mike
Replied by mike on topic Re: Custom Field Format for Date-Field (maybe a bug?)
Hello Nicolas
Thank you for your reply. I tried it out, but it seems not to work. If I add such a string add the line of code as you described, then no date (regardless how it's specified) is accepted and always a formatting error is returned in the User-Admin UI.
Thank you for your reply. I tried it out, but it seems not to work. If I add such a string add the line of code as you described, then no date (regardless how it's specified) is accepted and always a formatting error is returned in the User-Admin UI.
Please Log in or Create an account to join the conversation.
14 years 2 months ago #58936
by nicolas
Replied by nicolas on topic Re: Custom Field Format for Date-Field (maybe a bug?)
Hi,
Ok, try instead to try to change the line:
$seps = preg_replace('#%.#iU','',$field->field_options);
to:
$seps = preg_replace('#[a-z0-9%]#iU','',$field->field_options);
$seps = str_replace(array('.'),array('\.'),$seps);
at the same place.
Ok, try instead to try to change the line:
$seps = preg_replace('#%.#iU','',$field->field_options);
to:
$seps = preg_replace('#[a-z0-9%]#iU','',$field->field_options);
$seps = str_replace(array('.'),array('\.'),$seps);
at the same place.
Please Log in or Create an account to join the conversation.
14 years 2 months ago #58979
by mike
I can't get it work :dry:
Replied by mike on topic Re: Custom Field Format for Date-Field (maybe a bug?)
Please Log in or Create an account to join the conversation.
14 years 2 months ago #59041
by nicolas
Replied by nicolas on topic Re: Custom Field Format for Date-Field (maybe a bug?)
It's working fine for us with that modification.
Can you give more information ? Did you get a javascript error ? Can you check your browser's javascript error console ?
Still the same message ? Can you double check that you did the modification properly ?
Can you give more information ? Did you get a javascript error ? Can you check your browser's javascript error console ?
Still the same message ? Can you double check that you did the modification properly ?
Please Log in or Create an account to join the conversation.
14 years 3 weeks ago #64321
by mike
Replied by mike on topic Re: Custom Field Format for Date-Field (maybe a bug?)
Sorry for writing back to this issue so late!
I updated yesterday my Shop to the actual version 1.6.0!
I saw, that the validation of dates with "." works very well :woohoo: ! THANK YOU VERY MUCH (makes the life easier)!
Just for other users who want todo the same: For a (birth)date like 25.08.1978, the custom field format must be specified like this: %d.%m.%Y and the "Allow" Field must be set to "Only past dates" and there you go for a birthdate field on the customer mask in your backend!
Very nice!
Thanks
I updated yesterday my Shop to the actual version 1.6.0!
I saw, that the validation of dates with "." works very well :woohoo: ! THANK YOU VERY MUCH (makes the life easier)!
Just for other users who want todo the same: For a (birth)date like 25.08.1978, the custom field format must be specified like this: %d.%m.%Y and the "Allow" Field must be set to "Only past dates" and there you go for a birthdate field on the customer mask in your backend!
Very nice!
Thanks
Please Log in or Create an account to join the conversation.
Time to create page: 0.253 seconds