【问题标题】:how can I replace the calendar of vtigercrm with another customized calendar (solar calendar)?如何用另一个自定义日历(阳历)替换 vtigercrm 的日历?
【发布时间】:2013-04-10 07:22:43
【问题描述】:

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

已经在 Vtiger 中使用的公历:

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

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

【问题讨论】:

  • 请分享更多细节
  • 对不起,堆栈不是让其他人来做你的工作的地方!您继续前进,以防撞墙,请询问其他人!还有一点要说的是,相比于内置的日历模块,更改 js 日历是一项更容易的工作。我以前做过这个,我认为没有语言化就无法回答!
  • @HPM 好点。我tried,但是这个问题的回答范围很广……如果您看到这样的问题,请不要犹豫,将它们标记为过于宽泛并对其投反对票。

标签: php javascript crm vtiger


【解决方案1】:

调整日期选择器小部件

您可以在您的波斯小部件周围编写一个adapter,它实现与original Calendar 对象相同的接口(对象方法,不是 UI)。然后 vtigercrm 可以与适配器交互,就好像它是原始的一样,适配器会将所有调用转换为波斯小部件期望的任何内容并转换所有响应。那calendar.js 也是patches the Date prototype。一眼看去,好像不清楚MVC pattern;小部件的行为类似于视图和控制器,<input>-元素的行为类似于模型。但既然用户看到它,它也是一个视图。这将我们带到

内部表示

由于日期<input>-element 既是模型又是视图,因此日期的波斯表示会被发布,您需要在服务器上处理翻译您在加载时更改它from Gregorian 和 onsubmit to Gregorian。

如果你做后者,内部 vtiger 将只知道公历,你必须在所有显示日期的地方进行更改。

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

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

【讨论】:

    猜你喜欢
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2011-01-31
    相关资源
    最近更新 更多