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日期文本:它来自何处,如何更改?,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'如果不是今天。如果要显示的日期的年份不是当前年份,我会添加年份 我看到了,这可能足以覆盖核心
\u prepareColumns()
,但我真的很想知道如何更改该日期!顺便说一句,我对整个安装进行了灰色处理,但没有显示日期格式字符串的任何部分
更新:发现日期字符串格式是在
lib/Zend/Locale/Data/root.xml中设置的,如果您的区域设置不是en_us,其文件为空,则可能会被覆盖。为了解释R.S答案的第一部分,日期“格式”不是phpdate()
样式,我尝试了这种样式,并得到了非常奇怪的结果。仔细阅读区域设置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模块。请退房?谢谢