php - 如何将 vtigercrm 的日历替换为另一个自定义日历(阳历)?

标签 php javascript crm vtiger

我正在修改 Vtiger CRM 环境,并将其语言从英语更改为波斯语。现在我想用另一个日历替换 Vtiger 的日历(其系统是公历)。您可以在下面看到这两个压延机的图像:

Vtiger 中已经使用的公历: Gregorian calendar

我想在波斯语 Vtiger 中使用的阳历:

Solar calendar

我相信我应该在 /var/www/html/vtigercrm/jscalendar 中使用我的日历组件,但我不知道如何用新日历替换公历。如果您帮助我,我将非常感激。

最佳答案

调整日期选择器小部件

你可以写一个 adapter围绕您的波斯语小部件,它实现与 original Calendar 相同的接口(interface)(对象方法,而不 UI)。目的。然后 vtigercrm 可以与适配器交互,就好像它是原始适配器一样,并且适配器会将所有调用转换为波斯语小部件期望的内容并转换所有响应。那calendar.js还有patches the Date prototype 。乍一看,好像不太清楚MVC pattern ;该小部件的行为类似于 View 和 Controller 以及 <input> -element 的作用类似于模型。但既然用户看到它,它也是一个 View 。这让我们想到

内部表示

自日期<input> -element 既是模型又是 View ,要么是日期的波斯语表示形式被发布,您需要在服务器上处理翻译或者您在加载来自公历时更改它onsubmit 公历。

如果您执行后者,vtiger 内部将只知道公历,您将必须在显示日期的所有位置进行更改。

您可以尝试调整看起来像服务器模型 vt_DateTime 的内容。如果 vtiger 会在任何地方使用它,你就完成了......但我又深入了兔子洞,看起来 vtiger 并不是这样设计的......你可以清理设计并提交补丁,您可以找到以“format”开头的所有函数和方法,或者您可以在 bugtracker 中发布功能请求.

无论如何,在检查了代码之后,我确信这远远超出了 StackOverflow 的答案。

关于php - 如何将 vtigercrm 的日历替换为另一个自定义日历(阳历)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15919453/

相关文章:

javascript - 为什么 ref.getCollections() 不被识别为函数?

javascript - 如何在Firefox中通过knockout回调函数传递 'event'参数?

plugins - Dynamics CRM - 在用户登录时注册一个插件

typescript - xrmquery.update -> 更新 crm id 绑定(bind)为 null

php - Laravel 5 更新所有 Pivot 条目

javascript - 如何重定向iframe模式表单页面上的提交按钮上的父页面?

PhpSpreadsheet 损坏的 xlsx 文件

PHP mySQLi real_escape_string 不适用于撇号

javascript - 将数据表中的默认 Spring-Boot DateTime 转换为人类可读的日期时间

javascript - dynamics crm 使用 odata 从 "type: Microsoft.Crm.Sdk.Data.Services.EntityReference"检索 guid