1

Vtiger CRM 環境を変更しており、その言語を英語からペルシア語に変更しました。ここで、Vtiger のカレンダー (システムはグレゴリオ暦) を別のカレンダーに置き換えたいと考えています。これら 2 つのカレンダーの画像を以下に示します。

Vtigerですでに使用されているグレゴリオ暦: グレゴリオ暦

ペルシャの Vtiger で使用したい私の太陽暦:

太陽暦

でカレンダー コンポーネントを使用する必要がある/var/www/html/vtigercrm/jscalendarと思いますが、グレゴリオ暦を新しいカレンダーに置き換える方法がわかりません。助けていただければ幸いです。

4

1 に答える 1

1

datepicker ウィジェットの適応

元の Calendarオブジェクトと同じインターフェース ( UIではなくオブジェクトメソッド) を実装する Persian ウィジェットの周りにアダプターを作成できます。次に、vtigercrm はオリジナルのアダプタであるかのようにアダプタと対話でき、アダプタはすべての呼び出しをペルシャ語ウィジェットが期待するものに変換し、すべての応答を変換します。これにより、 Date プロトタイプにもパッチが適用されます。一見すると、明確なMVC パターンがないように見えます。ウィジェットはビューとコントローラーの両方のように機能し、要素はモデルのように機能します。しかし、ユーザーがそれを見るので、それもビューです。それは私たちをもたらしますcalendar.js<input>

内部表現

date<input>要素はモデルとビューの両方であるため、日付のペルシャ語表現が POST され、サーバー上で翻訳を処理する必要があります。または、オンロードをグレゴリオ暦からオンサブミットしてグレゴリオ暦に変更します。

後者を行うと、内部的に vtiger はグレゴリオ暦のみを認識し、日付が表示されるすべての場所で変更を行う必要があります。

サーバーモデルのように見えるものを試して適応させることができますvt_DateTime。そして、vtigerがどこでもそれを使用するなら、あなたは終わったでしょう....しかし、私はもう少しうさぎの穴を下って行きました.vtigerはそのように設計されていないようです...あなたはデザインをクリーンアップして提出することができます.パッチを適用すると、「format」で始まるすべての関数とメソッドを見つけることができます。または、バグトラッカーに機能リクエストを投稿することもできます。

とにかく、コードを調べた後、これは StackOverflow の回答をはるかに超えていることがわかりました。

于 2014-04-09T16:43:36.220 に答える