uncle Tom‘s cabin
Magento教程Magento 添加订单通知
Posted on November 09, 2011Magento在用户产生一个订单后会给用户发送邮件通知(order notification),但是店家需要自行查看后台时才能看到新的订单,这样有点被动,网上也有订单通知的插件。但是有很简单的通知方法,就是同样的用邮件提醒卖家。设置方式如下:
1.进入System->Configuration 点击左侧的Sales emails
2.点开第一个order。在Send Order Email Copy To中设置你需要的邮箱,Send Order Email Copy Method中选择separate email。
3.大功告成。
Codeigniter send email with Gmail
Posted on November 08, 2011Codeigniter版本:2.0.3
直接使用Codeigniter中的email类就能发送邮件,但是需要配置。
1.在config目录中新建文件email.php
里面写上邮件发送的配置信息:
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_user'] = 'email@gmail.com';
$config['smtp_pass'] = 'password';
$config['smtp_port'] = '465';
$config['smtp_timeout'] = '5';
2.在发送邮件之前调用$this->load->library(‘email’);
3.使用emial类里的函数
$this->email->to('xxx@qq.com');
$this->email->message($message);
$this->email->subject($subject);
$this->email->send();
4.成功。
PS:主机要支持ssl才可以发gmail
Magento Invalid model for shipping method: msmultiflat
Posted on November 07, 2011今天客户告诉我在后台的oder中点击invoice后系统报错了。基本上就是Invalid model for shipping method: msmultiflat 的问题。Google了一下发现只有几个网页提到了,貌似是装了某个shpping的插件后卸载了遇到的问题。解决方法是删除数据库里的一些数据,但是不知道有没有副作用,测试后这个功能是好了。代码如下
magento得到产品的attribute
Posted on November 03, 2011今天做项目的时候遇到要在产品详细页显示产品的sku,color,Material。sku后台默认有,没有的属性可以在后台的Attributes->Manage Attributes添加,然后在Manage Attribute Sets里面拖到default中。在产品详细页得到这些属性很简单,首先使用以下代码得到产品:
在view.phtml中这段代码本来就有的,然后sku在后台是文本框,使用以下代码获得:
就是get加上属性名,首字母大写。
像color在后台是dropdown的如果用上面的代码返回的会是一个数字,要用下面的代码去获取:
大功告成!
Magento如何定制不同的产品详细页
Posted on October 27, 2011一般Magento的产品详细页都是一样的,都在template->catalog->product->view.phtml中修改。但是偶尔会遇到需求,需要几个特殊的产品显示不同的效果,比如显示不同的图片。实现的原理很简单,就是根据这几个产品的id或者sku去判断。
找到这段代码
我们的代码就加在这个后面。
首先我们得到这个产品的id,在view.phtml中可以直接使用$_product->getId();获得。然后根据这个id来输出一张图片,
$id = $_product->getId();
if($id == 493):
?>
<img src="<?php echo $this->getSkinUrl('images/yq/xxx.png');?>" >
<?php
endif;
?>
不同的id就可以根据不同的判断去显示了。
Magento 更改contact页面url
Posted on October 18, 2011Magento里面默认的contact页面的url是contacts,这个url有些奇怪,如果你想把它改为contact-us,以下方法就可以实现。
打开app > code > Core > Mage > Contacts > etc > config.xml
找到下面的代码
<frontName>contacts</frontName>
只要把frontName标签里面的内容换成contact-us就ok了。
在Magento contact form中添加字段
Posted on October 14, 2011Magento自带了contacts页面,但是里面只有几个固定的字段,有时候需要在里面加上新的字段,比如今天遇到的需求就是加上一个School/Organization字段。下面就是增加的方法。
首先要修改的文件是template/contacts/form.phtml
找到下面的一段代码:
<label for="name" class="required"><em>*</em>
<?php echo Mage::helper('contacts')->__('Name') ?>
</label>
<div class="input-box">
<input name="name" id="name" title="<?php echo Mage::helper('contacts')->__('Name') ?>" value="<?php echo $this->htmlEscape($this->helper('contacts')->getUserName()) ?>" class="input-text required-entry" type="text" />
</div>
</div>
在后面加上我们新建的字段的代码
<label for="school" class="required"><em>*</em><?php echo Mage::helper('contacts')->__('School/Organization') ?></label>
<div class="input-box">
<input name="school" id="school" title="<?php echo Mage::helper('contacts')->__('School/Organization') ?>" value="" class="input-text required-entry" type="text" />
</div>
</div>
下面的操作的后台完成。进入System->Transactional E-mails,点击Add New Template。
进入后Template选择Contact Form然后点击Load Template。Template Name随便我这里填了Contact Form2,Template Content中加一行School: {{var data.school}},点击保存这边就ok了。
现在要在System->Configuration左侧的Contacts中设置一下Email Sender,选择Contact Form2,大功告成!
Magento得到当前产品信息
Posted on September 12, 2011在Magento详细页,总是会用到当前产品的各种信息,如name、price等,在view.phtml下是很容易得到的,根据magento默认的view代码,你就能搞定。但是要是在其他phtml中要用到产品的各项数据,这个办法就行不通了。但是Magento有便捷的方法去做到这一点。
Mage::registry能实现对数据库的操作。下面便是通过Mage::registry来得到相关的产品信息。
当然首先,你可以判断这是不是在产品详细页。
Mage::registry('current_product');
Mage::registry('cms_page')
下面是得到产品数据,一看就明白了:
echo $currentproduct->getName();
echo $currentproduct->getId();
echo $currentproduct->getProductUrl();
echo $currentproduct->getSku();
echo $currentproduct->getAttributeText('attribute_name');
echo $this->helper('catalog/image')->init($currentproduct, 'small_image')->resize(100);
得到分类数据:
echo $currentcategory->getName();
echo $currentcategory->getId();
echo $currentcategory->getImageUrl();
echo $currentcategory->getUrl();
得到CMS数据:
$cms_title = Mage::getSingleton('cms/page')->getTitle();
$cms_content = Mage::getSingleton('cms/page')->getContent();

Recent Comments
Close block