我想将processmaker中显示的日期更改为其他格式(波斯日历)。我有自定义类来格式化日期。覆盖返回格式化日期的默认函数的最佳方法是什么?我刚刚在G类中找到了CurDate方法。更改了它的返回值,但日期仍以格里高利格式显示。是否还有其他格式化日期的方法?
如果可能的话,我更喜欢OOP解决方案覆盖默认功能而不是黑客攻击核心。
感谢。
答案 0 :(得分:4)
适用于PM2.x中的daynaform
1.将jalali.js
(Download)个文件添加到路径\opt\processmaker\gulliver\js\widgets\pcal
2.更改路径\processmaker\gulliver\js\maborak\core\maborak.js
中的maborak文件,更改设置日历,如下所示
Calendar.setup({
inputField: id,
ifFormat: mask,
dateType: 'jalali',
button: id + "[btn]",
bottomBar: true,
showsTime: showTIme,
opacity: 1,
});
3.在路径\processmaker\gulliver\system\class.headPublisher.php
和function printHeader ()
中,您必须将jalali.js文件添加到标头dynaform中,如下所示
$this->addScriptFile("/js/widgets/pcal/jalali.js");
class.publisher.php
对于其他地方,如主页的当前日期顶部必须位于路径processmaker\workflow\engine\skinEngine\skinEngine.php
和function _default()
替换
$smarty->assign('udate', G::getformatedDate(date('Y-m-d'), 'M d, yyyy', SYS_LANG))
include_once("includes/inc.jdf.php");
$smarty->assign('udate', jdate('d F Y'));
适用于PM 3.x中的dynaform
1.将引导日期选择器文件(Download)添加到路径processmaker\workflow\public_html\lib\pmdynaform\libs\datepicker\jalali
2.将此文件添加到外部库
/lib/pmdynaform/libs/datepicker/jalali/bootstrap-datepicker.js,/lib/pmdynaform/libs/datepicker/jalali/bootstrap-datepicker.css,/lib/pmdynaform/libs/datepicker/jalali/bootstrap-datepicker.fa.js
3.将输入(id=txt_dateSabt
)添加到dynaform并使用此java脚本代码创建数据选择器$("#txt_dateSabt").find("input").datepicker();