Browsing all articles in Magento模板
10

Magento增加布局文件

Author 紫月蓝骋    Category Magento模板     Tags

Magento的布局文件一般在用的就4个,1column.phtml,2columns-left.phtml,2columns-right.phtml,3columns.phtml.今天magento互助群里有人问是不是可以弄4列的。那样就需要自己增加布局文件了。里面具体怎么布,就看你的需求了。我这里讲下如何增加magento布局文件
一、新建一个布局文件newcolumn.phtml。

二、在layout\page.xml中标签里加以下代码,其中有其他布局文件的写法,可以仿照。

1
2
3
4
5
6
7
8
   <page_new_columns translate="label">
        <label>All new-Column Layout Pages</label>
        <reference name="root">
            <action method="setTemplate"><template>page/newcolumn.phtml</template></action>
            <!-- Mark root page block that template is applied -->
            <action method="setIsHandle"><applied>1</applied></action>
        </reference>
    </page_new_columns>

三、在code\core\mage\page\etc\congig.xml中47行这个标签里加入以下代码,同样有其他布局文件的写法,可参考

    <new_columns module="page" translate="label">
                    <label>new column</label>
                    <template>page/new.phtml</template>
                    <layout_handle>page_new_columns</layout_handle>
    </new_columns>

这样就可以了,在Magento后台选择layout的时候 就会多一项new cloumn的选项。

3

Magento菜单-Magento top link添加首页

Author 紫月蓝骋    Category Magento模板     Tags

Magento 菜单加上首页比较简单,打开top.phtml

1
2
3
<ul id="nav">
  <?php echo $_menu; ?>
</ul>

改成

1
2
3
4
<ul id="nav">
  <li class="level0"><a href="<?php echo $this->getBaseUrl() ?>"><span>首页</span></a></li>
  <?php echo $_menu; ?>
</ul>

就是添加了一个首页的li。
给top link加首页的话,要在customer.xml里修改,把49行的

1
2
3
4
5
6
<default>
   <!-- Mage_Customer -->
   <reference name="top.links">
     <action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
    </reference>
</default>

改成

1
2
3
4
5
6
7
8
<default>
   <!-- Mage_Customer -->
   <reference name="top.links">
   <action method="addLink" translate="label title" module="customer"><label>Home</label><url></url><title>Home</title><prepare>true</prepare><urlParams/><position>5</position></action>
 
     <action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
    </reference>
</default>

Magento很多东西都是要在xml中修改的,小小感叹下我还是很多东西都不会。

27

Magento列表页用jQuery实现产品图片放大效果

Author 紫月蓝骋    Category Magento, Magento模板     Tags

今天看到个网站,鼠标移到列表页的产品图片上,旁边会弹出一个大图,感觉不错,就自己在Magento里写了个。先看看效果

Magento产品图片放大Magento产品图片放大

这个效果比较好实现,打开list.phtml,把输出img那句话复制到<a>标签外面,加一个class,jQuery会用到

1
2
3
4
5
	li class="item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>">
               <img class="listhoverimg" src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(300 ,327); ?>" width="300" height="327" alt="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" />
                <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(155 ,169); ?>" width="155" height="169" alt="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" /></a>
 
……………………</li>

然后在底部加上

1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
jQuery(".listhoverimg").css("display","none");
jQuery(".products-grid li:nth-child(1),.products-grid li:nth-child(2)").addClass("img1");
jQuery(".products-grid li:nth-child(3),.products-grid li:nth-child(4)").addClass("img2");
jQuery(".products-grid .product-image").hover(function(){
jQuery(this).siblings(".listhoverimg").css("display","block")
},function(){
 jQuery(this).siblings(".listhoverimg").css("display","none")
} )
</script>

这个简单的Magento产品图片放大效果就出来了。

9

Magento中调用静态block

Author 紫月蓝骋    Category Magento, Magento模板     Tags ,

Magento中调用静态Block主要有两个地方。

一、CMS文章页调用静态Block:{{block type=”cms/block”  name=”cms_test_block”  block_id=”toplinkmenu” }}只要更改block_id即可,block_id是静态Block的ID。

二、在.phtml中调用静态Block:<?php echo $this->getLayout()->createBlock(‘cms/block’)->setBlockId(‘wxts’)->toHtml() ?>只要更改setBlockId即可,setBlockId是静态Block的ID。

8

Magento免费模板——grayscale

Author 紫月蓝骋    Category Magento模板     Tags

Magento免费模板——grayscale,这个模板比较清爽,效果也不错。

Magento免费模板

模板下载地址:http://web-experiment.info/magento/media/downloads/wp_magento_theme_grayscale_01.zip

8

Magento免费模板——localstore

Author 紫月蓝骋    Category Magento模板     Tags ,

Magento免费模板——localstore,这个免费模板还比较好看,颜色比较暗。
Magento免费模板

模板下载地址:http://web-experiment.info/magento/media/downloads/wp_magento_theme_fashionstore_01.zip

4

Magento首页图片展示

Magento首页的图片产品展示方式有很多,今天分享一个masamaso弄过来的一个jquery效果
Magento首页产品

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<style type="text/css">/*banner轮播*/.picdiv{width:760px; height:290px; margin:0 auto; padding:0; overflow:hidden; position:relative;}.picbox{ margin:0; padding:0; overflow:hidden; width:760px; height:290px; position:absolute;z-index:999; }.picbox img{ width:760px; height:290px;padding:0;}.picbox2{ width:100%; background:#3B3B4C;  filter:alpha(opacity=70); position:absolute;right:0px; bottom:10px;z-index:1000; overflow:hidden;}.picbox2 ul{ float:right; margin:0; padding:0; margin-top:4px; margin-right:15px; }.picbox2 ul li{ cursor:pointer;list-style:none;float:left;width:18px; height:18px; font-family:Arial; line-height:18px;margin:2px; padding:0;overflow:hidden; text-align:center;}.picbox2 ul li.off{ cursor:pointer;list-style:none;float:left;width:15px; height:15px; font-family:Arial; line-height:15px;margin:2px; padding:0;overflow:hidden; text-align:center;background:#353535; border:1px solid #ccc;color:#fff;}.picbox2 ul li.on {cursor:pointer;list-style:none;float:left;width:15px; height:15px; font-family:Arial; line-height:15px;margin:2px; padding:0;overflow:hidden; text-align:center; background:#990000; border:1px solid #ccc;color:#FFF;}.picbox{ margin:0; padding:0; overflow:hidden; width:760px; height:290px; position:absolute;z-index:1; }.picbox img{ width:760px; height:290px;padding:0; border:0;}.picbox2{ margin:0; padding:0; width:760px; overflow:hidden; background:#353536;opacity:0.6; filter:alpha(opacity=60);padding:1px 0; position:relative; top:248px;z-index:2;}.picbox2 .filerdiv{margin:0; padding:0; overflow:hidden; border-width:1px 0;  border-style:solid;border-color:#837B69;font-size:12px; color:#fff; text-align:center; height:30px; line-height:30px;} 
</style>
<div class="picdiv">	
  <div class="picbox">				
    <div id="pic1" >							
      <a href="http://www.masamaso.com/package.php?id=22&path=1269418431" target="_blank">					
        <img src="http://image01.masamaso.com/pic/1270056820499615727.jpg" alt="" />				</a>					
    </div>				
    <div id="pic2" style="display:none;">							
      <a href="http://www.masamaso.com/package.php?id=21&path=1269488844" target="_blank">					
        <img src="http://image01.masamaso.com/pic/1269459787031927872.jpg" alt="" />				</a>					
    </div>				
    <div id="pic3" style="display:none;">							
      <a href="http://www.masamaso.com/goods.php?id=3036&path=1267175650" target="_blank">					
        <img src="http://image01.masamaso.com/pic/1271030787344249690.jpg" alt="" />				</a>					
    </div>				
    <div id="pic4" style="display:none;">							
      <a href="http://www.masamaso.com/goods.php?id=3041&path=1267175650" target="_blank">					
        <img src="http://image01.masamaso.com/pic/1267146761968477480.jpg" alt="" />				</a>					
    </div>				
    <div id="pic5" style="display:none;">							
      <a href="http://www.masamaso.com/goods.php?id=3184&path=1267175650" target="_blank">					
        <img src="http://image01.masamaso.com/pic/1271031039991694249.jpg" alt="" />				</a>					
    </div>			
  </div>	
  <div class="picbox2">		
    <div class="filerdiv">			
      <ul>								
        <li id="num1" class="on" onMouseOver="testshowpic(1,1)" onMouseOut="startpic()">1
        </li>								
        <li id="num2" class="off" onMouseOver="testshowpic(2,1)" onMouseOut="startpic()">2
        </li>								
        <li id="num3" class="off" onMouseOver="testshowpic(3,1)" onMouseOut="startpic()">3
        </li>								
        <li id="num4" class="off" onMouseOver="testshowpic(4,1)" onMouseOut="startpic()">4
        </li>								
        <li id="num5" class="off" onMouseOver="testshowpic(5,1)" onMouseOut="startpic()">5
        </li>							
      </ul>			
      <a style="color:white;" href="activity_1004.php" target="_blank">4.1—4.30,4月老顾客满988元送295元真皮腰带1条,赠品任选,多买多送!</a>		
    </div>	
  </div>	
  <p class="clear">
  </p>
</div>
<script type="text/javascript">
	var time=1;
	var count=5;
	function testshowpic(n,num)
	{
 
		if(num==1){clearInterval(id);}
		if(n>count)
		{
			n=1;
		}
		time=n;
		for(var p=1; p<=count;p++)
		{
			if(p==n)
			{	
				$("#pic"+p).hide().fadeIn('slow');
				$("#pic"+p).css("display","block");
				$("#num"+p).attr("class","on");
			}
			else
			{
				$("#pic"+p).css("display","none");
				$("#num"+p).attr("class","off");
			}
		}
	}
	if (count > 1) {
		var id=window.setInterval("testshowpic(time+1)",7000);
	}
	function startpic()
	{
		id=window.setInterval("testshowpic(time+1)",7000);
	}
</script>

有需要这个做Magento首页产品展示的,可以直接拿去修改下久可以放到Magento里了。

27

Magento模板结构分析

Author 紫月蓝骋    Category Magento模板     Tags

制作Magento模板前对Magento模板结构的了解是很重要的,Magento模板分布在两个地方,一个是控制网站样式及图片,另外个是调动及修改网站功能模块。我们以default这个模板为例(接下来都以这个模板为例),我们分别打开skin\frontend\default下, app\design\frontend\default,你会发现在这两个文件夹下都有个default的文件夹,这两个就是主要模板文件,如果你有个blank模板,那在这两个文件夹下都会有个blank文件夹。

打开skin\frontend\default\default,里面有css,images,js,favicon.ico。这个不用多做解释了吧,相信看到了就是知道是什么东西了。

打开app\design\frontend\default\default,里面有layout,locale,template。

1、layout里面都是xml文件,主要是用来控制网站,模块定位,在Magento模板制作中有相关介绍,这里就不多说了。

2、locale里面放的是语言包。

3、template里面放的是各个模块。

Magento模板主要就是这些东西,下面我讲下模板的打包。在了解原理后,这个就很简单了,skin\frontend\default\default,app\design\frontend\default\default,这两个打包出来就可以了,放到你需要这个模板的网站上,然后后台更改下,就可以用了。

24

Magento模板制作教程(置顶)

我个人认为Magento模板制作的难点在于不了解Magento的架构,不会调动block。Magento的block调动几乎都是靠xml。在下面的内容会提及如何操作。

制作Magento模板的前提是:你要会Html,div+css。不管你想做什么模板,这个都是基础。如果想要做出个精致的Magento,还必须精通div+css。因为涉及到一个浏览器的兼容问题,当你在Firefox下打开你的Magento商城看着感觉是很完美,但是到了IE6下完全变形,而且中国还有50%左右的人用IE6。

在制作Magento模板之前,首先要选一个比较简单的模板,然后在此基础上做。我个人推荐使用Blank模板,这个模板比较干净,图片除了必须的 几乎没有,而且css也很精简。我刚开始做Magento模板的时候用的是Default的模板,这个模板的css文件很大,而且等模板完成后,会有很多无用图片。曾经做一个项目的时候,客户死死的抓住网站的css文件太大,让我相当的头疼。废话有点多,现在开始正题。

Magento模板最主要的地方是首页,首页完成,Magento模板就完成30%左右了。我个人习惯是先改头部和尾部,这两个地方是所有页面都有的。头部的东西都在app\design\frontend\default\你的主题\template\page\html\header.phtml里面。底部的东西都在app\design\frontend\default\你的主题\template\page\html\footer.phtml里面。这两块的话都是靠css修改的,没什么好说的。我重点讲下中间部分的布局等。

Magento的布局对于新手来说,是比较困难的。如果英语好的话建议去看看官方的介绍http://www.magentocommerce.com/design_guide/articles/intro-to-layouts,现在网上也有很多翻译好的了,想要的可以去找找。我个人认为布局就是把已有的block放到应该的地方,一般都是在xml里面调动。我介绍下catalog.xml,其他的就不说了,原理都一样,而且大部分的布局都可以在catalog里面实现。app\design\frontend\default\你的主题\layout\catalog.xml,进入后你可以看到类似的注释“Default layout, loads most of the pages”,这些注释的意思就是你所改的是什么地方的布局,例如:“Default layout, loads most of the pages”这句说的就是网站默认布局。接着往下看,会看到很多的<reference >标签,这些都是需要在page.xml里定义过后,这里才能用,这里先不详细介绍了。这些“name”有“left”,“right”,“header”等等,从字面上我们就能看出来他们所指的位置,“left”是指左边栏,“right”指右边栏,“header”指头部。各个<reference >标签里会包含多个<block>block就是我要调用的功能模块了。例如经常会有人问怎样把左边的什么移到右边,这个问题很好解决,在“left”里找到对应的block放到右边,这样就成功了。是不是觉得很简单,这篇就先讲到这,没写过这样的教程,可能讲的不详细,如果有不懂的可以留言。

22

Magento免费模板——Modern Theme

Author 紫月蓝骋    Category Magento模板     Tags ,

Magento免费模板——Modern Theme。这个免费模板在官方下载是最多的,但我没用过。不过看到过多次,这个模板还是比较不错的。可以直接拿来用。

Magento免费模板-Modern

Extension Key:magento-core/Interface_Frontend_Default_Modern