最近の Magento のアップグレードとその後の修正からここで学んだ知識を使用して、私の最大の UI の不満の 1 つである date を助けてください。それは愚かです:
コア ファイルをハッキングして、app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php
「100px」を「165px」に変更しました。これにより、日付が折り返されなくなります。日付を「M n, Y g:i:s A」から、Gmail が今日の場合は「g:i:s a」を使用し、今日でない場合は「M n, ga」を使用するような日付に変更したいと思っています。表示される日付の年が現在の年でない場合は、年を追加します。
Overriding Magento Admin Controller, for Beginnersを見ましたが、コア ファイルで上書きするのに十分かもしれませんが_prepareColumns()
、その日付を変更する方法を知りたいです! ところで、インストール全体を grep しましたが、その日付形式文字列の一部が表示されません。
更新:日付文字列形式が設定されてlib/Zend/Locale/Data/root.xml
おり、ファイルが空の en_us 以外のロケールの場合は上書きされる可能性があることがわかりました。RSの回答の最初の部分を詳しく説明すると、日付の「形式」はphpdate()
スタイルではありません。これを試してみたところ、非常に奇妙な結果が得られました。Locale XML ファイルを熟読して、いくつかの実験を行いました。
$this->addColumn('created_at', array(
'header' => Mage::helper('sales')->__('Purchased On'),
'index' => 'created_at',
'type' => 'datetime',
'format' => 'MMM d, h:mm a', // Feb 18, 1:57 PM
//'format' => Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM),
//'format' => 'MMM d, y G',
'width' => '165px', // CKCK: edited to fix date field width was 100px
));
ブロック レンダラーをオーバーライドするカスタム モジュールの作成に取り組んでいます。示されている RS のコードのパート 2 は機能していませんが、彼のリンクからレシピが得られます。結果はまた更新します。
更新: Adminhtml ブロックの販売注文グリッド ( ) を上書き
しようとしました (そして失敗しabsog
ました)。別のモジュール EM_DeleteOrder が既にオーバーライドしていabsog
ました。オーバーライドしない代替モジュールを検索したabsog
ところ、セールス グリッドに関して大きな力を持つ拡張機能が見つかりました: MageWorx Enhanced Orders。だから私はそれをインストールし、私が望む日付形式のソースをハッキングしています! 私は満足して完了しました。この質問に対する更新はもうありません。