Magento日期文本:它来自何处,如何更改?

Magento日期文本:它来自何处,如何更改?,magento,Magento,根据我从最近的Magento升级和随后的修复中学到的知识,请帮我解决一个最大的UI问题:日期。这是愚蠢的: 我入侵了核心文件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'如果不是今天。如果要显示的日期的年份不是当前年份,我会添加年份 我看到了,这可能足以覆盖核心

根据我从最近的Magento升级和随后的修复中学到的知识,请帮我解决一个最大的UI问题:日期。这是愚蠢的:

我入侵了核心文件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'如果不是今天。如果要显示的日期的年份不是当前年份,我会添加年份

我看到了,这可能足以覆盖核心文件中的
\u prepareColumns()
,但我真的很想知道如何更改该日期!顺便说一句,我对整个安装进行了灰色处理,但没有显示日期格式字符串的任何部分


更新:发现日期字符串格式是在
lib/Zend/Locale/Data/root.xml中设置的,如果您的区域设置不是en_us,其文件为空,则可能会被覆盖。为了解释R.S答案的第一部分,日期“格式”不是php
date()
样式,我尝试了这种样式,并得到了非常奇怪的结果。仔细阅读区域设置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
    ));
正在制作自定义模块以覆盖块渲染器。如图所示,R.S代码的第2部分不起作用,但他的链接给了我一个配方。将使用结果再次更新


更新: 我试图()覆盖Adminhtml区块销售订单网格(
absog
)。另一个模块EM_DeleteOrder已经覆盖了absog
。我搜索了一个没有覆盖absog的替换模块,找到了一个与销售网格相关的强大扩展:。所以我安装了它,并且正在对其源代码进行黑客攻击,以获得我想要的日期格式!我很高兴,已经完成了,这个问题不再更新。

试试看

$this->addColumn('created_at', array(
     'header' => Mage::helper('sales')->__('Purchased On'),
     'index' => 'created_at',
     'type' => 'datetime', 
     'format'    => 'MMM d, h:mm a',
     'width' => '165px',
));
您还可以使用
渲染器

$this->addColumn('created_at', array(
     'header' => Mage::helper('sales')->__('Purchased On'),
     'index' => 'created_at',
      //'type' => 'datetime', //remove
      'renderer' = new MageIgniter_FormatDate_Block_Adminhtml_Renderer_Data()
      'width' => '165px',
));
然后创造

class MageIgniter_FormatDate_Block_Adminhtml_Renderer_Data extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Action
{
  public function render(Varien_Object $row)
   {
     return $this->_getValue($row);
   }

   public function _getValue(Varien_Object $row)
   {
     $val = $row->getData($this->getColumn()->getIndex());  // row value
     // need to format $val

     return $val;

   } 
}


您的确切代码会使销售订单网格崩溃,但是,您让我走上了正确的路径,因此标记为
已接受
。谢谢我能够对核心文件进行更改(正如我在上面更新的那样),但我一直在尝试创建adminhtml模块。请退房?谢谢