淘宝sdk——入门实战之header.php制作(二)

本文转自:http://www.cnblogs.com/huige728/archive/2012/05/15/2501532.html

在上一节中我们知道了怎么写一个简单的导航(自定义店招+系统店招)的这样的组合,今天我们来个全自定义的导航,呵呵

=======================================================================

新建模块、片区这样的我就不说了,我们先来写header.php,从这个php文件中知道我们要建立那里模块

?
1
2
3
4
5
6
7
8
9
10
11
<div class = "layout grid-m" >
    <div class = "HeaderModules J_TRegion" >
        <?
         $HeaderModules = array (
            array ( 'id' => 'dz01' , domId => "dz_01" ), //自定义店招模块(店招图+菜单)
            array ( 'id' => 'gonggao01' , domId => "gonggao_01" ), //自定义公告模块
         );
         echo include_modules( 'HeaderModules' , $HeaderModules ); //引号里是坑名(也就是这个J_TRegion坑前面新建的div名),后面是变量名(很明显是这个数组)
        ?>
    </div>
</div>

看了这个,我们就知道我们要建立2个模块,也就是按照array数组中的id来建立模块dz01和gonggao01,最后输出。

我们先来说说店招模块dz01 ,我们要在首页输出店招,就要先写出它的静态html的样式,在进行交互操作(也就是html代码和php进行混编,同时写module.xml)。

好了我们在dz01.php中写一个简单一点的店招的html,代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
< div class = "box J_TBox" <?php echo $_MODULE_TOOLBAR?>>
    < div class = "nav_layout" >
       < div class = "dz" >
                < img src = "assets/images/dz/dz_01.png" >        
       </ div >
       < div class = "nav" >
            < ul >
                < li >< a href = "#" >全部分类▼</ a ></ li >
                < li >< a href = "#" >首页</ a ></ li >
                < li >< a href = "#" >信用评价</ a ></ li >
                < li >< a href = "#" >新品上架</ a ></ li >
                < li >< a href = "#" >销量榜</ a ></ li >
                < li >< a href = "#" >收藏小店</ a ></ li >
            </ ul >
        </ div >
    </ div >
</ div >

css代码如下:

?
1
2
3
4
5
6
7
8
9
.nav_layout{ width : 950px ; height : 157px ;}
.nav_layout .dz{ width : 950px ; height : 127px ;}
.nav_layout .nav ul{ width : 950px ; height : 30px ; background-color : #000 ; margin : 0px ;}
.nav_layout .nav ul li{ float : left ; width : 101px ; height : 30px ; line-height : 30px ;
    border-right : 1px solid #e6e6e6 ;
    text-align : center ; color : #fff ; display : block ;
}
.nav_layout .nav ul li a{ color : #fff ;}
.nav_layout .nav ul li a:hover{ background-color : #e6e6e6 ; display : block ; color : #000 ;}

这里我们要知道.nav_layout .dz给它一个高度是为了防止它和菜单中间产生一个间隙。

好了,写到这里我们就开始我们的交互吧,我们要了解我们的交互要有那些功能,我们就写什么功能,看看module.xml下面的代码,都有什么功能,代码如下:

复制代码
<?xml version="1.0" encoding="GBK" standalone="yes"?>
<module xsi:noNamespaceSchemaLocation="http://www.cnblogs.com/../module.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <id>dz01</id>
    <name>店招</name>
    <file>dz01.php</file>
    <thumbnail>assets/images/index.png</thumbnail>
    <description>店招</description>
    <requiredCache>true</requiredCache>
    <parameters>
        <param name='dz_01' label='店招图片链接' formType='text' description='店招图片链接' ptype='text'>
        assets/images/dz/dz_01.png
        </param>
        <param name="dz_02" label="请选择链接打开方式" formType="select" readonly="false" description="默认为新窗口打开" ptype="text" >
            <option value="_blank">_blank</option>
            <option value="_parent">_parent</option>
            <option value="_self">_self</option>
            <option value="_top">_top</option>
        </param>
    </parameters>
</module>
复制代码

在上面的代码中我们可以看到2个功能,一个的替换店招图片,还一个是选择链接的打开方式,当然这里我们要知道<param>标签中的属性含义,这个我前面说过,不懂还是要去翻看淘宝官方sdk文档 我们写到这里就可以开始把dz01.php静态文件进行混编了,呵呵,代码如下

?
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
<div class = "box J_TBox" <?php echo $_MODULE_TOOLBAR ?>>
    <div class = "nav_layout" >
       <div class = "dz" >
         <?php
            if ( $_MODULE [dz_01]){
                echo '<img src="' . $_MODULE [dz_01]. '">' ;
            } else {
                echo '<img src="assets/images/dz/dz_01.png">' ;
            }
        ?>
       </div>
       <div class = "nav" >
            <ul>
                <li><a href= "<?php echo 'http://shop'. $_shop->id .'.taobao.com/?search=y'; ?>" >全部分类▼</a></li>
                <li><a href="<?php $pageLinks = $shopManager ->getShopPageLinks();
                    foreach ( $pageLinks as $pageLink ){
                        $url []= $pageLink ->href;
                    }
                    echo $url [0];
                ?>">首页</a></li>
                <li><a href= "<?php echo $uriManager->rateURI(); ?>" target= "<? echo $_MODULE[dz_02]?>" >信用评价</a></li>
                <li><a href= "<?php echo $uriManager->searchURI(); ?>&orderType=_newOn" target= "<? echo $_MODULE[dz_02]?>" >新品上架</a></li>
                <li><a href= "<?php echo $uriManager->searchURI(); ?>&orderType=_hotsell" target= "<? echo $_MODULE[dz_02]?>" >销量榜</a></li>
                <li><a href= "<? echo $uriManager->favoriteLink();?>" target= "<? echo $_MODULE[dz_02]?>" >收藏小店</a></li>
            </ul>
        </div>
    </div>
</div>

这个是一个比较简单一个的输出,官方文档中有这里信用评价,新品上架等链接的说明,参考说明即可

==================================================================

上面我们说了店招,下面我们来看看一个淘宝公告的制作,这里我们用到了效果,这个是一个比较简单的文字翻滚的效果(Slide卡盘-效果三),这里就不说明了,直接拿官方的改的

我们来看看gonggao01.php文件的静态html

?
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
< div class = "box J_TBox" <?php echo $_MODULE_TOOLBAR ?>>
   
    < div class = "gonggao" > <!--在外面嵌套一个div-->
       
        <!--公告、帮助-->
        < div class = "gonggao01" >
       
            < ul >
                < li class = "left" >
                    < div  class = "J_TWidget" >
                        < ul class = "news-items" >
                            < li >< a href = "#" target = "" >公告1:请在这里输入您公告1的显示文字!</ a ></ li >
                            < li >< a href = "#" target = "" >公告2:请在这里输入您公告2的显示文字!</ a ></ li >
                            < li >< a href = "#" target = "" >公告3:请在这里输入您公告3的显示文字!</ a ></ li >
                        </ ul >
                    </ div >
                </ li >
                       
                < li class = "right" >
                    < a href = "#" target = "" >< img src = "assets/images/gonggao/ico3.gif" />帮助中心</ a >
                    < a class = "J_TokenSign"  href = "#" target = "_blank" >< img src = "assets/images/gonggao/ico4.gif" />收藏本店</ a >
                    < a href = "#" target = "_blank" >< img src = "assets/images/gonggao/ico2.gif" />关注本店</ a >
                    < a href = "#" target = "_blank" >< img src = "assets/images/gonggao/ico5.gif" />手机收藏</ a >
               </ li >
            </ ul >
               
        </ div >
           
    </ div >
       
</ div >

css样式代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
/*头部公告*/
.gonggao{ height : 30px ; margin : 0 auto ; background-color : #EFEFEF ; overflow : hidden ;}
.gonggao 01 { width : 950px ; height : 30px ; margin : 0 auto ;}
.gonggao 01 ul li{ line-height : 30px ;}
.gonggao 01 ul li a{ color : #4e4e4e ;}
.gonggao 01 ul li a:hover{ color : #ff8808 ;}
.gonggao 01 ul li. left { width : 500px ; background : url (../images/gonggao/ico 1 .gif) no-repeat 5px center ; padding-left : 20px ; float : left ;}
.gonggao 01 ul li. left .scroll-news { height : 30px ; overflow : hidden ; }
.gonggao 01 ul li. left .scroll-news a { color : #ff8808 ; }
.gonggao 01 ul li. right { width : 420px ; text-align : right ; line-height : 30px ; float : left ; _padding-top : 6px ; padding-right : 10px ;}
.gonggao 01 ul li. right img{ margin : 0 4px 0 8px ; vertical-align : middle ;}
.gonggao 01 ul li. right a:hover{ text-decoration : none ;}

弄好这里,我们就看看在module.xml文件中写几个我们要的功能吧~~~

复制代码
<?xml version="1.0" encoding="GBK" standalone="yes"?>
<module xsi:noNamespaceSchemaLocation="http://www.cnblogs.com/../module.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <id>gonggao01</id>
    <name>头部公告</name>
    <file>gonggao01.php</file>
    <thumbnail>assets/images/index.png</thumbnail>
    <description>集成滚动公告、关注本店、收藏本店、帮助中心 文字链接</description>
    <requiredCache>true</requiredCache>
    <parameters>
        <param label="公告1文字┏" formType="text" readonly="false" description="┓请输入您'公告1'的显示文字" ptype="text" name="gonggao_01">
            公告1:请在这里输入您公告1的显示文字!
        </param>
        <param label="公告1链接网址┗" formType="text" readonly="false" description="┛请输入点击'公告1'打开的网址" ptype="text" name="gonggao_02">
            http://www.taobao.com?1
        </param>
        <param label="公告2文字┏" formType="text" readonly="false" description="┓请输入您'公告2'的显示文字" ptype="text" name="gonggao_03">
            公告2:请在这里输入您公告2的显示文字!
        </param>
        <param label="公告2链接网址┗" formType="text" readonly="false" description="┛请输入点击'公告2'打开的网址" ptype="text" name="gonggao_04">
            http://www.taobao.com?2
        </param>
        <param label="公告3文字┏" formType="text" readonly="false" description="┓请输入您'公告3'的显示文字" ptype="text" name="gonggao_05">
            公告3:请在这里输入您公告3的显示文字!
        </param>
        <param label="公告3链接网址┗" formType="text" readonly="false" description="┛请输入点击'公告3'打开的网址" ptype="text" name="gonggao_06">
            http://www.taobao.com?3
        </param>
        <param label="帮助中心链接网址" formType="text" readonly="false" description="请输入点击'帮助中心'打开的网址" ptype="text" name="gonggao_07">
            http://service.taobao.com/support/help.htm
        </param>
        <param label="请选择链接打开方式" formType="select" readonly="false" description="默认为新窗口打开" ptype="text" name="gonggao_08">
            <option value="_blank">_blank</option>
            <option value="_parent">_parent</option>
            <option value="_self">_self</option>
            <option value="_top">_top</option>
        </param>
    </parameters>
</module>
复制代码

功能还不少,呵呵,这个大家最近自己对照的写一下,这样就知道,同样的代码,自己写会出什么错,这样就比较深刻

好了也说了很多了,我们下面开始混编吧,代码如下:

?
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
<div class = "box J_TBox" <?php echo $_MODULE_TOOLBAR ?>>
   
    <div class = "gonggao" ><!--在外面嵌套一个div-->
       
        <!--公告、帮助-->
        <div class = "gonggao01" >
       
            <ul>
                <li class = "left" >
                    <div  class = "J_TWidget scroll-news" data-widget-type= "Slide"
data-widget-config= "{'contentCls':'news-items','hasTriggers':false,'effect':'scrolly','easing':'easeOutStrong','interval':3,'duration':0.2}" >
                        <ul class = "news-items" >
                            <li><a href= "<? echo $_MODULE[gonggao_02]?>" target= "<? echo $_MODULE[gonggao_08]?>" ><? echo $_MODULE [gonggao_01]?></a></li>
                            <li><a href= "<? echo $_MODULE[gonggao_04]?>" target= "<? echo $_MODULE[gonggao_08]?>" ><? echo $_MODULE [gonggao_03]?></a></li>
                            <li><a href= "<? echo $_MODULE[gonggao_06]?>" target= "<? echo $_MODULE[gonggao_08]?>" ><? echo $_MODULE [gonggao_05]?></a></li>
                        </ul>
                    </div>
                </li>
                       
                <li class = "right" >
                    <a href= "<? echo $_MODULE[gonggao_07]?>" target= "<? echo $_MODULE[gonggao_08]?>" ><img src= "assets/images/gonggao/ico3.gif" />帮助中心</a>
                    <a class = "J_TokenSign"  href= "<?php echo $uriManager->favoriteLink(); ?>" target= "_blank" ><img src= "assets/images/gonggao/ico4.gif" />收藏本店</a>
                    <a href= "<?php echo'http://shuo.taobao.com/microshop/front.htm?shopId='. $_shop->id .'&follow=true&tracelog=fromtb25' ?>" target= "_blank" ><img src= "assets/images/gonggao/ico2.gif" />关注本店</a>
                    <a href= "<?php echo'http://msp.taobao.com/popup/sendsms.htm?sprefer=sypj18&shopId='. $_shop->id .' ' ?>" target= "_blank" ><img src= "assets/images/gonggao/ico5.gif" />手机收藏</a>
               </li>
            </ul>
               
        </div>
           
    </div>
       
</div>

看到上面的代码了吧,这个就是我们用到的第一个简单的效果,卡盘效果3,呵呵,参数讲的每一多大意思,主要还是要自己去看去联系,当然里面还有很多想帮助中心,收藏本店这里的代码,我们要去看官方的文档,这里也就不说了,注意我们这里的收藏本店的<a>标签中叫了一个class="J_TokenSign"的样式(作用是:这个用户点击收藏,直接就可以收藏,否则会弹出一个页面,让用户选择  {确定收藏}还是{取消},多了这么一个class是你、你会选哪个?)。

============================================================================

ps.这里的导航还是很简单的,当然下面一节,我们将会说到一个弹出下拉导航,同时也是用了官方的效果的,呵呵,这里我就先不错了,等下节在说。

对了还忘了上传效果图:

[转]淘宝sdk——入门实战之header.php制作(二)_第1张图片

=============================================================================================

所用到的素材

店招部分:

 

公告素材:

你可能感兴趣的:(header)