11

Magento中新建添加了special price的产品模块

Author 紫月蓝骋    Category Magento     Tags

Magneto中新建special price页面这个功能模块用到的应该不多,现在的商城基本都是所有的产品的会加上special price。国外有些商城可能会用到这个功能,放假的时候查了些资料,现在分享下这个功能模块。

在app/design/frontend/default/你的主题/template/catalog/product中新建special.phtml,加入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
include_once 'app/Mage.php';
Mage::app();
Mage::getSingleton('core/session', array('name' => 'frontend'));
 
$_productCollection = Mage::getResourceModel('catalogsearch/advanced_collection')
            ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
            ->addMinimalPrice()
            ->addStoreFilter();
 
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($_productCollection);
Mage::getSingleton('catalog/product_visibility')->addVisibleInSearchFilterToCollection($_productCollection);
 
 
$todayDate = date('m/d/y');
$tomorrow = mktime(0, 0, 0, date('m'), date('d')+1, date('y'));
$tomorrowDate = date('m/d/y', $tomorrow);
 
$_productCollection->addAttributeToFilter('special_from_date', array('date' => true, 'to' => $todayDate))
    ->addAttributeToFilter('special_to_date', array('or'=> array(
    0 => array('date' => true, 'from' => $tomorrowDate),
    1 => array('is' => new Zend_Db_Expr('null')))
    ), 'left');
 
foreach($_productCollection as $_product){
    if($_product->getData('special_price')!=null){
        echo '<img src="'.$this->helper('catalog/image')->init($_product, 'thumbnail')->resize(75).'" alt="'.$_product->getName().'" /><br />';
        echo $_product->getName().'<br />';
 
    $specialPrice = $_product->getData('special_price');
    $orignalPrice = $_product->getData('price');
        echo number_format($specialPrice, 2)."<br/>";
        echo number_format($orignalPrice, 2)."<br/>";                    
        echo '<a href="http://www.yourwebsite.com/magento/checkout/cart/add?product='.$_product->getId().'&qty;=1">Add To Cart</a><br />';
    }
}
?>

这个只是实现了基本功能,样式布局方面还需要修改。有什么问题欢迎一起探讨。

9

在Magneto中使用一个xml文件更新布局

Author 紫月蓝骋    Category Magento     Tags

Magento有很多的xml布局文件,我们在修改更新布局文件时,就要去找相对应的.xml文件。我分享下通过一个local.xml文件就可以修改整个Magento网站的布局。

在app/frontend/default/你的主题/layout下新建一个local.xml,在里面写你需要更新的布局就可以了。记得在 头部加入

1
2
< ?xml version="1.0"?>
<layout version="0.1.0"></layout>

可能一些朋友不懂magento如何布局,我接下来简单的介绍下:
1.更新添加block

1
2
3
 <reference name="left">
   <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
</reference>

2.删除block

1
<remove name="catalog.leftnavr" />

3.添加删除js

1
2
3
4
5
6
7
<!-- 删除JS-->
<reference name="head">
<action method="removeItem"><type>js</type><name>lib/ds-sleight.js</name></action>
</reference>
 
<!-- 添加JS -->
<action method="addItem"><type>skin_js</type><name>lib/ds-sleight.js</name></action>

关于布局更新还有其他问题,可留言联系我。

25

Magento加速利器——lazyload

Author 紫月蓝骋    Category Magento     Tags

Magento的速度是令人头疼的问题,我现在介绍一种前端的加速方法。说到lazyload,相信很多人都不陌生,现在很多网站都已经用到这个技术,他可以延迟加载长页面的图片。对于Magento这样的商城网站的加速就很明显了。我今天说的这个lazyload是经过POPO改造的(强逼我给他加外连……)。下面我放一些测试的数据,我正在做的一个网站的列表页。
Magneto加速
Magento加速

很明显的就能看出差距。接下来写下用法:

首先加上jQuery,lazyload两段js。
read more

12

恢复更新

Author 紫月蓝骋    Category 未分类     Tags

进来几个月公司和家里的事情比较多,一直没时间更新博客。现在人在宁波,工作什么的都稳定下来了,博客我也开始恢复更新了。我的工作主要是做前端开发,所以关于magento模板制作,大家有问题的可以留言问我,程序功能方面我只能看着回答了,我不擅长。

希望转载我文章的同学,标明出处。算是对我的博客的支持吧,谢谢。

9

Magento产品直接进入结账页面

Author 紫月蓝骋    Category Magento     Tags

Magento在产品页增加个立即购买的按钮,跳过购物车页面直接进入结账页面。这个是今天客户提的需求,用了个简单的jQuery解决了这个问题。当然如果你的网站没有用到jQuery的话,就直接用JS写吧。

一、在addtocart.phtml中加入<a  href=”<?php echo $this->getBaseUrl() ?>checkout/onepage/”  id=”checknow”>立即购买</a>。

二、给加入购物车的按钮加个id=“addtocart”。

三、加入以下jQuery,

1
2
3
4
5
<script type="text/javascript">
jQuery("#checknow").click(function(){
jQuery("#addtocart").click();
} )
</script>

这个方法存在一定的缺陷就是,结账的时候会把所有购物车里的产品一起结了,不过客户就是要这样的结果,

8

Magento中添加Flash

Author 紫月蓝骋    Category Magento     Tags

Magento加Flash这个问题,让我纠结了下今天。一般的Flash是很好加的,我说下带有xml等文件的Flash的加法。

一、在根目录下创建一个文件夹swf,把Flash相关的东西放入。

二、新建一个Static Block加入以下内容(注意把其中的文件夹和文件名改为相对应的内容):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script type="text/javascript">
AC_FL_RunContent('codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0',
'width','900',
'height','400',
'src','swf/name_of_your_flash_banner',
'quality','high',
'menu','false','base','.',
'pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','swf/name_of_your_flash_banner'
); //end AC code
</script>
 
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="900" height="400" title="name_of_your_flash_banner">
 
<param name="movie" value="swf/name_of_your_flash_banner.swf" />
<param name="quality" value="high" />
<param name="menu" value="false">
<param name="wmode" value="transparent">
<param name="base" value="." />
 
<embed src="swf/name_of_your_flash_banner.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="900" height="400"></embed>
 
</object>
</noscript>

三、在你需要导入flash 的地方,导入这个block。

四、在该页面加入一个JS,AC_RunActiveContent.js
我是通过以上方法在Magento中加入Flash的,如有其他更加的方法,欢迎和我探讨下

22

Magento批量上传

Author 紫月蓝骋    Category Magento     Tags

Magento批量上传在,Magento中是个很重要的功能。介绍下一般的产品批量上传。
一、先在后台添加个产品,然后把这个产品在导出导出那里导出.csv表格。
二、用excel打开就可以看到批量上传需要的格式了。
三、把产品图片上传到/media/upload/创建子目录命名XXX/下。
四、在批量文件里填写图片信息,举例如下:
image /test/test1.jpg
small_image /test/test1.jpg
thumbnail /test/test1.jpg
五、按照导出的格式把其他Magento数据都填写完整之后就批量导入这个批量文件
注意:
1.一定要先上传图片,之后才可以上传批量文件,要不然前台看不到图片。
2.SKU是整个网站唯一的,不可以重复,否则以后上传的同名就会覆盖以前的产品。
以上就是Magento批量上传的简单方法,大家可以尝试下。改自magentochina.org

19

Magento 1.4.0.1升级到1.4.10报错

Author 紫月蓝骋    Category Magento     Tags

Magento1.4.0.1升级到1.4.1.0后会报错Fatal error: Call to a member function toHtml() on a non-object in /home/www/yourMagento/html/gamemore/app/code/core/Mage/Core/Model/Layout.php on line 529。
在magentochina.org找到了答案。
打开layout/page.xml,找到 改成
尝试下吧……

19

Magento清除缓存

Author 紫月蓝骋    Category Magento     Tags

Magento清除缓存有两种方法。
一、打开后台system——>Cache Management,refresh就是清除缓存,Disable是禁用缓存,在上线前,建议禁用缓存,Enable打开缓存。
二、直接删除var中的文件,var就在根目录下。
Magento清除缓存的方法就这两种

18

Magento翻译

Author 紫月蓝骋    Category Magento中文     Tags

Magento翻译有两种方法,通过后台,和翻译包。
一、通过后台,进入System——>Configuration——>Developer。点击Translate Inline选项,Enabled for Frontend选择yes是开启前台翻译,Enabled for Admin选择yes是开启后台翻译。这种翻译方法只能用在一个Magento网站,不可重用。
Magneto模板 翻译
二、通过翻译包,网上有很多翻译包,下一个,放到app\locale里面,然后进入后台启用。下过来的magento翻译包,会有一些不足。那就需要我们自己进行二次翻译。例如:About Us没有被翻译,进入翻译包打开其中一个csv文件,一般不同的地方有针对的翻译包,要看文件名。按照已有的格式写,”About Us”,”关于我们”。如果翻译没有成功,就进入About Us所在文件夹,看看格式是不是__(‘About Us’) ?>,再看看”About Us”与’About Us’里的内容是不是一样,差一个字符都会导致翻译失败。
在做双语站的时候,图片可能在两个站不一样,这里介绍下“图片翻译方法”。
getSkinUrl($this->__(‘images/co.jpg’)) ?>”/>然后在翻译文件中加入”images/co.jpg”,”images/翻译.jpg”。
Magento的翻译方法如果还有其他的,欢迎留言沟通。