国际电子商务技术 & Magento开发公司

Maishen technologies

Welcome visitor! You canlogin orcreate an account.

热线:+86-0532-58973093

麦神科技有限公司
Mygod Technologies

官方认证开发工程师

麦金斗网店下得到当前用户的所有订单

2012年2月7日星期二 Asia/Shanghai下午11:40:31

在个人中心里面,有时候要更加详细的处理一些用户中心的事情

得到当前用户的所有订单信息,代码如下:

$customerId = Mage::getSingleton( 'customer/session' )->getCustomer()->getEntityId();

$orderCollection = Mage::getModel('sales/order')->getCollection()
                    ->addAttributeToFilter('customer_id',$customerId);

foreach($orderCollection as $ee){
    var_dump($ee);
   
}

输出所有订单的详细信息,当想输出特定字段可以详细处理

譬如输出所有订单的id

foreach($orderCollection as $ee){
   echo $ee['increment_id'];
   
}

0 Comments | Posted in magento二次开发 By terry water

增加一个layout template

2012年2月1日星期三 Asia/Shanghai下午5:57:24

magento默认的有5中layout template方式,分别为:

empty

1columns

2columns-left

2columns-right

3columns

这么5中,有时候我们想自己做一个新的layout template

让我们的页面更加的灵活,方便

下面是实现的步骤:增加一个4columns 的layout template

 

  1. 复制 app/code/core/Mage/Page/etc/config.xml
      到app/code/local/Mage/Page/etc/config.xml.
    然后打开这个文件

             找到代码

  <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

刷新缓存,就可以使用了

0 Comments | Posted in magento二次开发 By terry water

sales-order--action,直接在后台修改订单状态

2012年1月28日星期六 Asia/Shanghai上午9:19:19

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这个修改方式,然后提交就可以修改了!

 

 

0 Comments | Posted in magento二次开发 By terry water

magento的message的使用

2012年1月11日星期三 Asia/Shanghai下午5:52:53

在magento中发送消息,实例代码如下,含有失败和成功的方法,当做新的模块扩展的时候,在一些提交操作的成功和失败的判断的时候,可以使用下面代码进行判断是否成功和失败!

 

 try {
                    $mail->send();
                    $message = $this->__('You have Register Successfully');
                    
                    Mage::getSingleton('core/session')->addSuccess($message);
                     $this->_redirect('sendemail/index/wholesale');
                }
                catch(Exception $ex) {
                    // I assume you have your custom module.
                    // If not, you may keep 'customer' instead of 'yourmodule'.
                    Mage::getSingleton('core/session')
                        ->addError(Mage::helper('yourmodule')
                        ->__('Unable to send email.'));
                     $this->_redirect('sendemail/index/wholesale');
                }

0 Comments | Posted in magento二次开发 By terry water

magento发送邮件机制

2012年1月11日星期三 Asia/Shanghai下午5:26:58

magento的邮件非常的领过,但是使用起来有点复杂,下面是实用的zend机制发送邮件的简单方法,如下:

public function sendEmail()
{
    $fromEmail = "[email protected]"; // sender email address
    $fromName = "John Doe"; // sender name
 
    $toEmail = "[email protected]"; // recipient email address
    $toName = "Mark Doe"; // recipient name
 
    $body = "This is Test Email!"; // body text
    $subject = "Test Subject"; // subject text
 
    $mail = new Zend_Mail();       
 
    $mail->setBodyText($body);
 
    $mail->setFrom($fromEmail, $fromName);
 
    $mail->addTo($toEmail, $toName);
 
    $mail->setSubject($subject);
 
    try {
        $mail->send();
    }
    catch(Exception $ex) {
        // I assume you have your custom module.
        // If not, you may keep 'customer' instead of 'yourmodule'.
        Mage::getSingleton('core/session')
            ->addError(Mage::helper('yourmodule')
            ->__('Unable to send email.'));
    }
}
如果想发送html代码
则实用方法:
$mail = new Zend_Mail("UTF-8"); 
$mail->setBodyHtml($body);
如果想用magento的邮件机制,可以参看如下链接:http://magentocookbook.wordpress.com/2009/06/26/magento-email/
0 Comments | Posted in magento二次开发 By terry water
 
  • Mygod Technologies
  • 麦神科技有限公司
  • 香港中路8号
  • 中铁青岛中心大厦A3001
  • 市南区, 青岛, 266000
  • 电话: 0532-5897-3093

订阅我们的最新消息。

我们将严格尊重您的隐私。

关注我们的微信
获取外贸电子商务最新资讯;跨境推广最新策略;电子商务网站技术最新趋势。

2018 Mygod Technologies. 保留所有权. Privacy Policy