如何删除magento的订单
magento中的订单默认是不能删除的,这个有好处也有坏处,不能删除订单....可以避免一些员工的误操作。。
但是在我们的开发过程中,无可避免的产生一些测试订单。。如果这些订单不删除掉的话。。实在是太影响外观了。。那么怎样删除这些无用的订单呢?magento后台中没有删除订单的功能,只看到有取消订单的功能,根本没有删除订单的选项
为新注册用户在onepage页面自动填入姓名
当一个新用户注册,其默认是没有输入国收货地址,所以当新用户下订单后,在onepage页面,会要求用户输入用户名,收货地址等。。。
客户在注册的时候已经输入过用户名了,从用户体验角度出发。。我们可以在onepage页面自动为他填上用户名。。。
首先我们找到‘app/code/core/Mage/Checkout/Block/Onepage/Billing.php’
然后找到getAddress这个方法
public function getAddress() {
if ($this->isCustomerLoggedIn()) {
return $this->getQuote()->getBillingAddress();
} else {
return Mage::getModel('sales/quote_address');
}
}
magento的cms中调用首页地址,skin目录
magento中的CMS管理模块不是传统意义上的CMS,我们可以理解他为动态静态块,这个词有点拗口.
通俗点讲就是有些HTML代码或者某一个代码块我们可以放入CMS的static block 中,然后再在Magento中调用CMS静态块 (Static Block)来优雅的动态显示我们需要显示的内容
重设magento管理员密码
有时候难免忘记magento系统的管理员账号的密码,看了下magento的数据库,管理员账号是存放在admin_user这张表中的,用户名的字段是username密码是使用MD5保存的..
知道了原理再来重新设置admin密码就非常容易了..我们通过mysql的md5函数来保存密码就可以了
UPDATE admin_user SET PASSWORD = MD5('newpassword') WHERE username = 'admin';上面是通过sql语句来直接更新数据库,如果我们要使用magento自带的数据库操作类来更新数据库也很简单
mangento根据当前目录获取所有可见的父目录
magento中的分类是多对多的,通俗点说就是一个分类可以属于多个父分类。
magento中如何根据当前目录获取所有可见的父目录呢?
看下面的代码:
$category = Mage::getModel('catalog/category')->load(1);
$parent_categories = array();
echo get_class($category);
while ($category->getParentCategory()->getId())
{
$parent = $category->getParentCategory();
if ($parent->getIsActive()) {
$parent_categories[] = $parent;
}
$category = $parent;
}
$parent_categories = array_slice($parent_categories, 0, 10);
foreach ($parent_categories as $category) {
print($category->getName());
}
magento查看用户是否登录
在magento中有些功能是需要用户登录之后才可以展示给客户看到.在magento中用户登录是放在session中的 如果要查看用户是否登录来控制权限可以这样用
if (!Mage::getSingleton("customer/session")->isLoggedIn()) {
// 客户没有登录,这里输入处理流程.
}注意前面有个感叹号。。
我们可以在controller中实现,如果用户没有登录,就跳转到登录页面去
if (!Mage::getSingleton("customer/session")->isLoggedIn())
{
$session = Mage::getSingleton("customer/session");
$customerLoginURL = $this->getBaseUrl() . "customer/account/login";
Mage::app()->getFrontController()->getResponse()->setRedirect($customerLoginURL)->sendResponse();
}
magento中的getBaseUrl函数
在magento中如果要获取js,media,skin目录,我们可以使用magento的
Mage::getBaseUrl()
这个函数..假设我们的网站根目录是:http://192.168.1.10/magento/
如果我要获取js目录
<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);//http://192.168.1.10/magento/js/ ?>
jquery鼠标事件
鼠标事件是指用户在移动鼠标光标或者点击任意鼠标键时触发的事件,jQuery中封装了基本上所有的鼠标事件,
包括点击,双击,移动等鼠标事件
- click事件:jquery中的click事件是最常用的一个事件了,就是猛击鼠标左键
$("sel").click(function(){ alert('哈哈 !'); }); - dbclick事件:鼠标双击事件是用户迅速猛击两次以后触发的事件..,一般双击事件的同时也会触发两次click事件。。以前我写过一篇博客简单的介绍了下jQuery的鼠标双击事件
ruby中each和collect的区别
ruby中的each迭代和collect迭代功能使用非常广泛,但是不是很明白两者的区别,去网络上找了下两者的区别,先看下示例代码:
irb(main):006:0> arr1 = [1,2,3]
=> [1, 2, 3]
irb(main):007:0> arr1.each {|i| i*=2 }
=> [1, 2, 3]
irb(main):008:0> arr1.each {|i| puts i*2 }
2
4
6
=> [1, 2, 3]
#------------------------------------------------------
arr2 = [1,2,3]
irb(main):010:0> arr2.collect {|i| i*2 }
=> [2, 4, 6]