Date formatting in emails - Printable Version +- CoreBOSBB (https://discussions.corebos.org) +-- Forum: Support (https://discussions.corebos.org/forumdisplay.php?fid=17) +--- Forum: User Support (https://discussions.corebos.org/forumdisplay.php?fid=6) +--- Thread: Date formatting in emails (/showthread.php?tid=723) |
RE: Date formatting in emails - joebordes - 08-17-2018 These tests would seem to indicate the contrary: https://github.com/tsolucio/coreBOSTests/blob/master/modules/com_vtiger_workflow/VTSimpleTemplate.php#L284 https://github.com/tsolucio/coreBOSTests/blob/master/modules/com_vtiger_workflow/VTSimpleTemplate.php#L288 as there are two evaluation in the same string. RE: Date formatting in emails - partnerwerk - 08-17-2018 I don't see two general workflow functions in a row in these templates. This is what the templates use: $(general : (__WorkflowFunction__) uppercase(firstname ) ) $(account_id : (Accounts) accountname) this is what I want to achieve am $(general : (__WorkflowFunction__) format_date($date_start,'d. F Y') ) um $(general : (__WorkflowFunction__) substring($time_start,0,5) ) Uhr. It works with a line break before "um" but it does not when put on one line. RE: Date formatting in emails - joebordes - 08-17-2018 Ok, I added it to our to-do list RE: Date formatting in emails - partnerwerk - 08-20-2018 Thank you very much. RE: Date formatting in emails - joebordes - 08-22-2018 I did some additional testing and came up with a way to do it by putting all the operations in one WorkflowFunction call: https://github.com/tsolucio/coreBOSTests/blob/master/modules/com_vtiger_workflow/VTSimpleTemplate.php#L304 Anyway, I also created a ticket to get it working as you propose. RE: Date formatting in emails - partnerwerk - 12-05-2018 It seems this is still an issue. However I found a (very fragile) workaround and just post it here for anybody who is interested: Goal: have the results of multiple workflow functions in one line of html code in workflow emails. Problem: If they are not seperated by a line break or several spaces they „eat up” some of the code around, apparently even cannibalizing each other. I wanted to have a custom field value and a date and time of an event in one line like this: Quote:special appointment on Dec. 6, 2018 at 6.15 a.m. The code I used is the following: PHP Code: <p>$cf_851 on $(general : (__WorkflowFunction__) format_date($date_start,'d. F Y') ) at $(general : (__WorkflowFunction__) substring($time_start,0,5) )</p> The result is that the time does not appear at all. So I seperated them on different lines like this: PHP Code: <p>$cf_851</p> But that's ugly: Quote:special appointment Seperating the functions in the html source code like this is working if... PHP Code: <p>$cf_851 Results in the desired formatting... ...if: - you do not switch to the wysiwyg editor before saving - if you never edit the email again without fixing these line breaks at the same time. RE: Date formatting in emails - joebordes - 12-09-2018 You can try using a 'concat' function, something like this unit test example: https://github.com/tsolucio/coreBOSTests/blob/master/modules/com_vtiger_workflow/expression_engine/VTExpressionEvaluaterTest.php#L141 https://github.com/tsolucio/coreBOSTests/blob/master/modules/com_vtiger_workflow/VTSimpleTemplateTest.php#L354 https://github.com/tsolucio/coreBOSTests/blob/master/modules/com_vtiger_workflow/VTSimpleTemplateTest.php#L358 RE: Date formatting in emails - partnerwerk - 12-15-2018 Thank you Joe, I tried this: $(general : (__WorkflowFunction__) concat( translate(format_date($date_start, 'd. F Y') ) ," um ", substring($time_start,0,5)," Uhr.") ) The result: 19. January 201908:16 Expected result: 19. Januar 2019 um 08:16 Uhr Have you got any other idea or did I write the function wrong? RE: Date formatting in emails - partnerwerk - 12-15-2018 It seems I need to use single quotes. Code: $(general : (__WorkflowFunction__) concat ( format_date($date_start,'d. F Y') ,' um ', substring($time_start,0,5),' Uhr.') ) This gives the expected result if I put in an empty space after the function. Probably this needs to be done for parsing the function correctly. So this: Code: <p>Event on <strong>$(general : (__WorkflowFunction__) concat ( format_date($date_start,'d. F Y') ,' um ', substring($time_start,0,5),' Uhr.') ) </strong></p> results in: Quote:Event on 19. Januar 2019 um 08:16 Uhr But the Wysiwyg editor strips the space before the closing strong-tag. So after saving it once the source code of the email is: Code: <p>Event on <strong>$(general : (__WorkflowFunction__) concat ( format_date($date_start,'d. F Y') ,' um ', substring($time_start,0,5),' Uhr.') )</strong></p> Which results in: Quote:Event on 19. Januar 2019 um 08:16 Uhr/strong> and the rest of the email is printed bold because there is no closing tag. How can I make the functions persistent in the wysiwyg editor? Or is there a way to completely disable it? It is quite useless if it behaves like this. RE: Date formatting in emails - joebordes - 05-07-2019 I just added a couple of tests for this use case, the trick seems to be adding a "separation" character after the workflow function: https://github.com/tsolucio/coreBOSTests/commit/fc20d04d1cc5abdde484ea7992bd2f52b5718555 |