在magento使用过程中,如果做中文,那么写进去的中文就会显示成乱码
可以使用一个php函数进行编码转换
函数实例为:
<?php echo iconv('GB2312', 'UTF-8', '收藏本站'); ?>
使用后可以直接显示了,当然,您如果不嫌麻烦,可以写英文,然后通过$this->__(‘’);这个函数,然后在中文csv文件中写上对用的中文翻译也可以。
----------------------------条条大道通广州,呵呵!!
在magento使用过程中,如果做中文,那么写进去的中文就会显示成乱码
可以使用一个php函数进行编码转换
函数实例为:
<?php echo iconv('GB2312', 'UTF-8', '收藏本站'); ?>
使用后可以直接显示了,当然,您如果不嫌麻烦,可以写英文,然后通过$this->__(‘’);这个函数,然后在中文csv文件中写上对用的中文翻译也可以。
----------------------------条条大道通广州,呵呵!!
在magento中添加了一些属性,那么我们可以通过下面的方式进行筛选过滤
$products = Mage::getModel('catalog/product')
1
如果模型的数据库是eav模型
->getCollection()
->addAttributeToFilter('ucocoupon','125');
自己添加的属性是不会默认添加的,需要下面的方式->addAttributeToSelect('rewords')合起来就是:
$products = Mage::getModel('catalog/product')
->getCollection()->addAttributeToSelect('rewords')->addAttributeToFilter('ucocoupon','125');
这样就满足需求了
2
如果数据表不是eav模型,那么使用下面的方式:
->addFieldToSelect('email','[email protected]');
也就是吧attribute换成field
magento默认的有5中layout template方式,分别为:
empty
1columns
2columns-left
2columns-right
3columns
这么5中,有时候我们想自己做一个新的layout template
让我们的页面更加的灵活,方便
下面是实现的步骤:增加一个4columns 的layout template
找到代码
<page>
<layouts>
<empty module="page" translate="label">
<label>Empty</label>
<template>page/empty.phtml</template>
<layout_handle>page_empty</layout_handle>
</empty>
<one_column module="page" translate="label">
<label>1 column</label>
<template>page/1column.phtml</template>
<layout_handle>page_one_column</layout_handle>
<is_default>1</is_default>
</one_column>
<two_columns_left module="page" translate="label">
<label>2 columns with left bar</label>
<template>page/2columns-left.phtml</template>
<layout_handle>page_two_columns_left</layout_handle>
</two_columns_left>
<two_columns_right module="page" translate="label">
<label>2 columns with right bar</label>
<template>page/2columns-right.phtml</template>
<layout_handle>page_two_columns_right</layout_handle>
</two_columns_right>
<three_columns module="page" translate="label">
<label>3 columns</label>
<template>page/3columns.phtml</template>
<layout_handle>page_three_columns</layout_handle>
</three_columns>
</layouts>
</page>
将其替换为:
<page>
<layouts>
<empty module="page" translate="label">
<label>Empty</label>
<template>page/empty.phtml</template>
<layout_handle>page_empty</layout_handle>
</empty>
<one_column module="page" translate="label">
<label>1 column</label>
<template>page/1column.phtml</template>
<layout_handle>page_one_column</layout_handle>
<is_default>1</is_default>
</one_column>
<two_columns_left module="page" translate="label">
<label>2 columns with left bar</label>
<template>page/2columns-left.phtml</template>
<layout_handle>page_two_columns_left</layout_handle>
</two_columns_left>
<two_columns_right module="page" translate="label">
<label>2 columns with right bar</label>
<template>page/2columns-right.phtml</template>
<layout_handle>page_two_columns_right</layout_handle>
</two_columns_right>
<three_columns module="page" translate="label">
<label>3 columns</label>
<template>page/3columns.phtml</template>
<layout_handle>page_three_columns</layout_handle>
</three_columns>
<four_columns module="page" translate="label">
<label>4 columns</label>
<template>page/4columns.phtml</template>
<layout_handle>page_four_columns</layout_handle>
</four_columns>
</layouts>
</page>
2
在目录app/etc/modules中,新建文件 Mage_Local.xml
内容为:<?xml version="1.0"?>
<config>
<modules>
<Mage_Page>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Core/>
</depends>
</Mage_Page>
</modules>
</config>
3
打开目录:
app/design/frontend/your_package/your_theme/template/page
在这个文件里面新建一个文件4columns.phtml,然后随便复制一个文件,譬如:3columns.phtml,将其内容复制到4columns.phtml文件中(里面的内容,按照自己的定制改)
4
刷新缓存,就可以使用了
magento的订单状态是不可以改变的,现在想要做的是,手动在后台修改订单的状态
1
在
app\code\core\Mage\Sales\Model\Order.php
970行处:
if ($shouldProtectState) {
// if ($this->isStateProtected($state)) {
// Mage::throwException(
// Mage::helper('sales')->__('The Order State "%s" must not be set manually.', $state)
// );
// }
}
改成这样
然后
2
在文件app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid/php
181行处:
$this->getMassactionBlock()->addItem('Complete', array(
'label'=> Mage::helper('sales')->__('Complete'),
'url' => $this->getUrl('*/sales_order/success'),
));
3在文件
app/code/core/Mage/Adminhtml/controllers/Sales/OrderController.php
加入方法
public function successAction()
{
$orderIds = $this->getRequest()->getPost('order_ids', array());
$countSuccessOrder = 0;
$countNonSuccessOrder = 0;
foreach ($orderIds as $orderId) {
$order = Mage::getModel('sales/order')->load($orderId);
$order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true)->save();
}
$this->_redirect('*/*/');
}
即可,在后台的action处就可以看到conplete这个修改方式,然后提交就可以修改了!
邮箱是magento网店中比较重要的一个设置环节,邮箱用于发送邮件,客户交互,重要性不言而喻!
下面是实战中积累的如何设置邮箱:
1
首先去空间注册两个邮箱命名为info和payment,最好使用空间的邮箱,给人感觉正规一些,尤其是做正品的,当然,您也可以使用gmail邮箱,但是尽量不要使用126等国内邮箱
邮箱为:info@sample.com,
pay@sample.com
info用来接收contact us 和新用户注册信息
payment用来接收订单信息。
2
2
Magento后台设置!
2.1
System-->configuration-->store Email Addresses
Sender Name设置成域名
Sender Email设置成info邮箱,填写好后保存
譬如图中文字
2.2
Contacts
System-->configuration-->contacts
Enable:yes
Sender Emails to :info邮箱地址
Email Sender 随便填写一个就可以,因为上面设置的都是一个邮箱
Email Template: contact Form(Default Template from local),一定要选这个默认邮箱,
填写好后保存
2.3
Email to a friend
内容如图:
Select Email Template :使用默认的模板,如图
2.4
Send mails
设置方式如图,邮箱改成注册的info邮箱!
2.5payment邮箱(paypal)
System—>configuration->paypal
如图所示填写payment邮箱
选取第二个website payment standart
设置
然后保存!!!
2.6
System->configuration->general
填写上store name,上面格式的网站域名即可,如果有电话,写上电话!
3
如果你想让客户注册账户的时候,在给客户发送邮件的同时,也给自己的邮箱发送邮件那么按照下面的方式操作!
注册邮件
找到
/app/code/core/Mage/Customer/Model/Customer.php
搜索
sendNewAccountEmail function
然后入下面所示,加入一个方法addBcc(),里面是你的邮箱地址:
Mage::getModel(’core/email_template’)
->setDesignConfig(array(’area’=>’frontend’, ‘store’=>$storeId))
->addBcc(’[email protected]’)
->sendTransactional(....