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

Maishen technologies

Welcome visitor! You canlogin orcreate an account.

热线:+86-0532-58973093

麦神科技有限公司
Mygod Technologies

官方认证开发工程师

Magento获取URL路径函数(参考大全)

2013年3月5日星期二 Asia/Shanghai上午8:00:00

假设Magento站域名为:magentouse.com

01 // http://magentouse.com/
02 echo Mage::getBaseUrl();
03 echo Mage::getBaseUrl('link');
04  
05 // http://magentouse.com/
06 echo Mage::getBaseUrl('direct_link');
07  
08 // http://magentouse.com/
09 echo Mage::getBaseUrl('web');
10  
11 // http://magentouse.com/skin/
12 echo Mage::getBaseUrl('skin');
13  
14 // http://magentouse.com/js/
15 echo Mage::getBaseUrl('js');
16  
17 // http://magentouse.com/media/
18 echo Mage::getBaseUrl('media');

Mage::getBaseUrl()静态函数,在任何地方都可以使用。在Mage_Core_Block_Template类中,也提供了两个类似功能函数:

1 // http://magentouse.com.com/
2 echo $this->getBaseUrl();
3  
4 // http://magentouse.com/js/
5 echo $this->getJsUrl();
Read More

标签:

0 Comments | Posted in magento扩展 By Isabel

Magento产品多图导入

2013年3月4日星期一 Asia/Shanghai下午5:05:21

      Magento通过csv表格批量导入产品时,不可避免的要遇到多个产品图片导入的问题。 不知道为什么,一直在细节上把握很好的Magento,竟没有解决这个重要问题。

Read More
0 Comments | Posted in magento扩展 By Isabel

Magento全站备份命令(CentOS)

2013年3月4日星期一 Asia/Shanghai上午8:00:00

1 tar cvf /disk2/backup/magentoeye.com.20120501.tar \
2         --exclude=/home/magentoeye.com/www/media/tmp \
3         --exclude=/home/magentoeye.com/www/media/import \
4         --exclude=/home/magentoeye.com/www/media/catalog/product/cache \
5         --exclude=/home/magentoeye.com/www/var/cache \
6         --exclude=/home/magentoeye.com/www/var/session \
7         /home/magentoeye.com/www &
  • 定期进行全站备份,很重要!
  • 针对自己的情况,用--exclude来排除不需要备份的文件目录。
  • 另外要注意:符号'\'后不要有空格。
  • 由于网站中图片很多,故不需要启用压缩备份。
  • 将文件备份到另外一个磁盘,不仅快,而且安全
  • 为防止备份进程中断,将其置于后台运行
Read More
0 Comments | Posted in magento扩展 By Isabel

邮件发送程序

2013年3月1日星期五 Asia/Shanghai上午11:25:48

magento发送邮件是基于服务器 sendmail服务(不作评价)  我们常常面对无法发送邮件的问题 在查出原因之前 不妨试试以下方法 这里提供的是php方法 不习惯也可以使用php-java-bridge使用java操作 因为不同的邮局结果也会不一样 建议开启调试 无误后再关闭

使用socket(套接字)发送邮件:

    private $lastmessage; //记录最后返回的响应信息 
    private $lastact; //最后的动作,字符串形式 
    private $welcome; //用在HELO后面,欢迎用户 
    private $debug; //是否显示调试信息 
    private $smtp; //smtp服务器 需要与发送邮箱对应
    private $port; //smtp端口号 
    private $fp; //socket句柄 

    private function init_mail($smtp, $welcome = "", $debug = false) {
        if (empty($smtp))
            die("SMTP cannt be NULL!");
        $this->smtp = $smtp;
        if (empty($welcome)) {
            $this->welcome = gethostbyaddr("localhost");
        }
        else
            $this->welcome = $welcome;
        $this->debug = $debug;
        $this->lastmessage = "";
        $this->lastact = "";
        $this->port = "25";
    }

    private function show_debug($body, $inout) {
        if ($this->debug) {
            if ($inout === "in") {
                $m = '<< ';
            }
            else
                $m = '>> ';
            if (!ereg("\n$", $body))
                $body .= "<br />";
            $body = nl2br($body);
            echo "<span style="color: #999999;">$m$body</span>";
        }
    }

    private function do_command($command) {
        $this->lastact = $command;
        $this->show_debug($this->lastact, "out");
        fputs($this->fp, $this->lastact);
        $this->lastmessage = fgets($this->fp, 512);
        $this->show_debug($this->lastmessage, "in");
        if (!ereg("^[23]", $this->lastmessage)) {
            return false;
        }
        else
            return true;
    }

    private function sendMail($body, $email) {
        $this->lastact = "connect";

        $this->show_debug("Connect to SMTP server : " . $this->smtp, "out");
        $this->fp = fsockopen($this->smtp, $this->port);
        if ($this->fp) {

            set_socket_blocking($this->fp, true);
            $this->lastmessage = fgets($this->fp, 512);
            $this->show_debug($this->lastmessage, "in");

            if (!ereg("^220", $this->lastmessage)) {
                return false;
            } else {
                $this->lastact = "HELO " . $this->welcome . "\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }

                $this->lastact = "AUTH LOGIN\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }
                
                $this->lastact = base64_encode("/*发送邮件的邮箱*/")."\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                    
                }$this->lastact = base64_encode("/*邮箱密码*/")."\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }
                
                $this->lastact = "MAIL FROM:</*发送邮箱*/>\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }

                $this->lastact = "RCPT TO:</*目标邮箱*/>\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }

                $this->lastact = "DATA\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }

                $head = "Subject: /*主题*/\n\n";
                if (!ereg($head, $body)) {
                    $body = $head . $body;
                }

                $head = "From: /*邮件中显示的邮箱 如果不是上面的邮箱 会提示代发*/\n";
                if (!ereg($head, $body)) {
                    $body = $head . $body;
                }

                $head = "To: /*目的邮箱 如果不是上面的邮箱 即为密送*/\n";
                if (!ereg($head, $body)) {
                    $body = $head . $body;
                }

                if (!ereg("\n\.\n", $body))
                    $body .= "\n.\n";
                $this->show_debug($body, "out");
                fputs($this->fp, $body);

                $this->lastact = "QUIT\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }
            }
            return true;
        } else {
            $this->show_debug("Connect failed!", "in");
            return false;
        }
    }
0 Comments | Posted in magento扩展 By lei sheng

改变list页面产品底部的的评论url

2012年6月18日星期一 Asia/Shanghai下午3:12:47

magento的评论默认是单独的一个页面,也就是在产品详细页面,和产品分类页面都可以点击这个链接进入评论页面,但是有的时候,我们想吧评论功能放到产品详细页面底部,而不是放在单独的一个页面,这样我们需要在产品详细页面把评论产品的功能调出来,然后修改在分类页面和详细页面顶部的评论url

1

在产品详细页面把评论产品的功能调出来:

在<catalog_product_view>

标签下面,找到代码:

 <reference name="content">            <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">

把下面这个block当做子block加入到上面的block。

 <block type="review/product_view_list" name="product.info.product_additional_data" as="product_review" template="review/product/view/list.phtml"> <block type="review/form" name="product.review.form" as="review_form"/> </block> 

然后在template/catalog/product/view.phtml

里面通过

<?php echo $this->getChildHtml("product_review");  ?>

把评论信息调用出来

2

修改产品list页面和产品详细页面顶部的URL

找到 \app\code\core\Mage\Review\Block\Helper.php

  public function getReviewsUrl()    {   

    return Mage::getUrl('review/product/list', array(           'id'        => $this->getProduct()->getId(),           'category'  => $this->getProduct()->getCategoryId()        )); 

  }

改为:

 public function getReviewsUrl()    { return Mage::getModel('catalog/product')->load($this->getProduct()->getId())->getUrlPath();    

}

然后在

\app\design\frontend\maishen\mgfocal\template\review\helper\summary_short.phtml

改为:

  <div class="ratings">                 

  <div class="rating-box">       

        <div class="rating" style="width:<?php echo $this->getRatingSummary() ?>%">

</div>         

  </div>         

      <span class="amount">

<a href="<?php echo $this->getReviewsUrl() ?>#customer-reviews">

<?php echo $this->__('%d Review(s)', $this->getReviewsCount()) ?>

</a>

</span> 

  </div>

OK,搞定!

 

magento建站服务,magento模板magento插件

0 Comments | Posted in magento扩展 By terry water
 
  • Mygod Technologies
  • 麦神科技有限公司
  • 香港中路8号
  • 中铁青岛中心大厦A3001
  • 市南区, 青岛, 266000
  • 电话: 0532-5897-3093

订阅我们的最新消息。

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

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

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