精华内容
下载资源
问答
  • Personal-Blog-Site:受@BronzeGamer影响| 编程新手? 使用此HTMLCSS模板构建一个简单的博客。 添加帖子并重新混合样式!
  • 简单的界面模板 包含菜单, 登录,查询等
  • 使用asp.net创建自己的模板引擎是相当简单的事情,而我们所使用的仅仅需要正则和反射两个工具就足够了。 来看看下面一个来自于真实项目的模板页(者进行了适当的精简,为方便阅读): ${SYS_NAME} $require('$...

    使用asp.net创建自己的模板引擎是相当简单的事情,而我们所使用的仅仅需要正则反射两个工具就足够了。

    来看看下面一个来自于真实项目的模板页(者进行了适当的精简,为方便阅读):

     

    <!DOCTYPE html>
    <html>
    <head>
        <title>${SYS_NAME}</title>
    </head>
    <body>
        $require('${id}')
        ${partial:"common/blog.header.phtml"}
    
                <div class="sitepath">您当前的位置:<a href="${SYS_DOMAIN}" rel="nofollow">首页</a>>$sitemap('${categoryTag}')>${title}</div>
    
                <!-- 显示文档 -->
    
                    $archive('${id}','
                    <h1>{title}</h1>
                    <p class="meta">作者:{authorname}  发布时间:{createtime2}  浏览次数:
                        <span class="hightlight">{count}</span>  评论:<span class="hightlight">{replay}</span> 条<br />
                    {content}
                    </p>
    
                    ')
    
    
                <div class="relation" style="text-align:center;padding:20px 0">
                        上一篇:$prevarchive('${id}','<a href="{url}">{title}</a>')  |  下一篇:$nextarchive('${id}','<a href="{url}">{title}</a>')
    
                          <br />关键词:
                     $tags('${tags}','<a href="{searchurl}" target="_blank">{name}</a> ')
                </div>
                
                <!-- 文档评论 -->
                <div class="comments" id="comments">
                    <ul>
                        $comment('<li id="comment{id}"><span class="meta"><span class="floor">{index}楼</span> 
                                  <span class="user">{nickname}</span> 于 <span class="date">{date}说:</span><span class="content">{content}</span></li>'
                                 ,'false','true')
    
                   </ul>
                </div>
             
                <div id="submitComment">
                        <span class="title">发布评论</span>
                        $comment_editor('','true')
                   </div>
    
        ${partial:"common/blog.footer.phtml"}
    </body>
    </html>
    

     

    在这个模板页中,使用$method(param)  来调用数据所提供的方法,在方法内部可以接受一个模板片段参数,改参数使用{paramName} 传入,并返回数据。

    通过文件,我们不难看出这是一个博客的博文显示页面,包括了评论功能。通过插槽式的组合,我们可以通过修改这个文件而无需重写代码(仅对功能相对固定的系统),充分使用模板带来的便利优势。接下来的一系列文章,将通过对这个模板引擎的分析,教新手开发一个自定义的模板引擎。...

    以下是片段代码:SmpleTpl.cs

    /*******************************************
    * 文 件 名:SimpleTpl.cs
    * 文件说明:asp.net模板引擎解析文件
    * 创 建 人:newmin
    * 个人博客: http://blog.ops.cc
    ******************************************/
    
    namespace U1City.Shop.Unit
    {
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Reflection;
        /// <summary>
        /// 简单模板解析类
        /// </summary>
        public sealed class SimpleTpl
        {
            /// <summary>
            /// 包含方法的类型实例
            /// </summary>
            private object classInstance;
            public SimpleTpl(object classInstance)
            {
                this.classInstance = classInstance;
            }
    
            /// <summary>
            /// 数据列正则
            /// </summary>
            private static Regex fieldRegex = new Regex("{([a-z0-9_]+)}");
    
            /// <summary>
            /// 执行解析模板内容
            /// </summary>
            /// <param name="html"></param>
            /// <returns></returns>
            public static string Execute(object instance, string html)
            {
                string resultTxt = html;                                              //返回结果
    
                const string tagPattern = "\\$([a-z0-9]+)\\(([^)]+')\\)";
                const string paramPattern = "'([^']+)',*";
    
                Regex tagRegex = new Regex(tagPattern);            //方法正则
                Regex paramRegex = new Regex(paramPattern);   //参数正则
    
                Type type = instance.GetType();
                MethodInfo method;
                string tagName;
                object[] parameters;
                Type[] parameterTypes;                                         //参数类型数组
                MatchCollection paramMcs;
    
                resultTxt = tagRegex.Replace(resultTxt, m =>
                {
                    tagName = m.Groups[1].Value;
                    string x = m.Groups[2].Value;
                    //获得参数
                    paramMcs = paramRegex.Matches(m.Groups[2].Value);
                    parameters = new object[paramMcs.Count];
    
                    //查找是否存在方法(方法参数均为string类型)
                    parameterTypes = new Type[parameters.Length];
                    for (int i = 0; i < parameterTypes.Length; i++)
                    {
                        parameterTypes[i] = typeof(String);
                    }
                    method = type.GetMethod(
                        tagName,
                        BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase,
                        null,
                        parameterTypes,
                        null);
    
                    //如果方法存在则执行返回结果,否则返回原始值
                    if (method == null)
                    {
                        return m.Value;
                    }
                    else
                    {
                        //则给参数数组赋值
                        for (int i = 0; i < paramMcs.Count; i++)
                        {
                            parameters[i] = paramMcs[i].Groups[1].Value;
                        }
    
                        //执行方法并返回结果
                        return method.Invoke(instance, parameters).ToString();
                    }
                });
                return resultTxt;
            }
    
            /// <summary>
            /// 执行解析模板内容
            /// </summary>
            public string Execute(string html)
            {
                return Execute(this.classInstance, html);
            }
    
        }
    }
    

    <script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
    展开全文
  • 简约的手机社区类网站html5响应式模板简单,适合新手学习及在此基础上改造升级
  • 您当前问题,是在静态规则里面引用的HTTPS他本身就是不存在的,需要您修改源码,您可以先尝试明确的图片的HTTPS地址是否可以访问,如果可以,...因此,通常,大家都是使用动态程序制作网站(分离模板,header+页面...

    您当前问题,是在静态规则里面引用的HTTPS他本身就是不存在的,需要您修改源码,您可以先尝试明确的图片的HTTPS地址是否可以访问,如果可以,那么就是源码问题。

    在网上,html结尾的网址网页,有可能其本身并不是html的,这个涉及到【静态化和伪静态】,诸如一些大型的论坛和网站程序,成千上万的页面,不可能每次都去维护其页面内容的。因此,通常,大家都是使用动态程序制作网站(分离模板,header+页面+sidebar+footer)。然后使用静态程序生成静态缓存(把动态程序拼接的内容保存为html文件,亦称“真静态”)。还有一种是解析URL的,就是,URL中提供一系列的参数,程序会提取这些参数,用来执行页面显示,其后缀可有可无可变更(仅仅是一个修饰,为了搜索引擎,亦称“伪静态”)。PHP或asp可以使用include(require、require_once)或#include的方法包含多个页面文件。其实,你看到这个也是这种情况。

    PHP是一门相对比较简单的后端语言。web这块,也就说平常说的网站,网页公众号啥的,95%以上都是PHP处理的。因此,学PHP的确不错。但相对前端,PHP还是复杂多些,对于新手也不是一个很快能上班干事的语言。一般人学当然能学会,要入行,基本需要3-5个月的时间,主要还是要多做项目和练习,才能有编程思维。找个前辈带一带,在时间和成本上低很多,紧跟行业技术需求,可以考虑。

    网页模板就是已经做好的网页框架,使用网页编辑软件输入自己需要的内容,再发布到自己的网站。每个网页模板压缩包内包含:PSD图片文件(可用Photoshop、ImageReady或Fireworks修改),按钮图片PSD文件、Flash源文件和字体文件,推荐使用Dreamweaver软件向网页模板添加内容。1)模板的概念:作为创建文档的样板的文档。创建模板时,可以说明哪些网页元素不可编辑,哪些元素可以编辑。其扩展名为.dwt。2)模板的作用:有利于保持网页风格的一致;提高工作效率。1.创建模板1)创建一个全新的模板:在模板面板中,使用快捷菜单按钮或单击面板上的新建按钮模板面板的打开:Window菜单--Templates2)创建基于文档的模板:File菜单-Save As Template2.设置模板页面属性1)用模板创建的文档继承模板的页面属性,页标题除外。2)设置:Modify菜单-Page Properties3.定义模板的可编辑区1)定义模板的可编辑区在模板文档中选定对象、Modify菜单、Templates、New Editable Region2)取消可编辑区标记Modify菜单-Templates-Remove Editable Region

    htmlhead title滚动字幕/title /headbody text=#ff0000 bgcolor=#ccff99marquee请进入音乐休闲屋/marqueemarquee direction=left看我还会动呢,并且是从右向左移动/marquee pmarquee direction =right behavior=scroll我从左向右一圈一圈的移动/marquee pmarquee scrollamount=18我是不是移动的比较快?/marquee Pmarquee loop=3 bgcolor=blue我的底色是蓝的,我循环三次即停止移动/marquee p/body /html

    include标签使用include标签在当前模板中包含公共模板,例如常见的header和footer等公共模板,include标签最常用的属性是file,但是支持不同的用法,其用法基本和我们常用的模板渲染方法display方法差不多。例如:包含Public目录下面的header模板1includefile=Public:header/包含当前模板目录下面的menu模板1includefile=menu/表示包含blue模板主题下面的User/read模板文件,include标签所支持的模板深度只能到操作层次,也就是说ThinkPHP默认的模板结构采用的是:主题/模块/操作.模板后缀,使用上述用法包含模板的时候,file属性不需要指定模板后缀,如果你的模板结构不是标准结构,可以采用包含完整模板文件的方式:1includefile=./Tpl/default/header.html/include标签可以一定程度上简化重复的模板书写,和便于同步修改,不足就是如果公共模板文件发生更改,但是当前的主模板文件没有更改,则不会自动更新模板缓存,除非你设置了模板缓存有效期,那么在缓存过期后会自动更新模板缓存。

    展开全文
  • 下载压缩包邮使用教程,不会的自己可以慢慢的研究吧,这只是个小小简单模板,适合新手使用,高手勿喷即可!
  • 下载压缩包邮使用教程,不会的自己可以慢慢的研究吧,这只是个小小简单模板,适合新手使用,高手勿喷即可!
  • 比较简单的后台管理界面,里面有基础的404页面、用户管理、密码修改、链接管理、首页等内容,适合初学者练习使用,内容可以自行扩展。
  • 网上的免费ppt模板很多,但是当需要使用的时候,一个个去搜寻下载实在是很麻烦,那么为什么不直接寻找一个免费的ppt模板网站,把其免费的PPT模板都爬取下载,需要使用的时候直接挑选即可 文章目录网页层次分析流程...

    网上的免费ppt模板很多,但是当需要使用的时候,一个个去搜寻下载实在是很麻烦,那么为什么不直接寻找一个免费的ppt模板网站,把其免费的PPT模板都爬取下载,需要使用的时候直接挑选即可



    网页层次分析

    我选取的免费的ppt模板网址是http://www.ypppt.com/moban/

    在这里插入图片描述在这里插入图片描述在这里插入图片描述从以上截图可以看出,这是个典型的三层结构

    第一层是全部的ppt的列表
    第二层是ppt的详情页,在详情页内有下载链接的入口
    第三层是我们最终的目标层,存在下载链接

    在这里插入图片描述由第一层的链接可以看出翻页非常简单,只要定位到最后一页,循环遍历即可

    流程图

    在这里插入图片描述

    代码展示

    我用的是scrapy,以下给主体部分的代码。用scrapy十分高效,总共2000+的PPT下载链接在一分钟内就全部爬好了。当然这也跟这个网站没有反爬是分不开的,当然如果不是很着急最后设置一下延时,攻击到网站就不好了

    # -*- coding: utf-8 -*-
    import scrapy
    import re
    from ppt_get.items import pptdownload_url
    
    
    class PptSpider(scrapy.Spider):
        name = 'ppt'
        allowed_domains = ['ypppt.com']
        start_urls = ['http://www.ypppt.com/moban/']
        page_num = 0
        base_url = 'http://www.ypppt.com'
    
        def parse(self, response):
            self.page_num = response.xpath('//div[@class="page-navi"]/a[11]/@href').re_first('\d+')
            yield scrapy.Request(url='http://www.ypppt.com/moban/',callback=self.first_deep)
            for i in range(2,int(self.page_num)+1):
                yield scrapy.Request(url = 'http://www.ypppt.com/moban/list-{}.html'.format(i),callback=self.first_deep)
        
        def first_deep(self, response):
            url_list = response.xpath('//ul[@class="posts clear"]/li/a[2]/@href').extract()
            for i in url_list:
                yield scrapy.Request(url=self.base_url+i,callback=self.second_deep)
        
        def second_deep(self, response):
            url = response.xpath('//div[@class="button"]/a/@href').extract_first()
            yield scrapy.Request(url=self.base_url+url,callback=self.third_deep)
        
        def third_deep(self, response):
            item = pptdownload_url()
            download_url = response.xpath('//ul[@class="down clear"]/li/a/@href').extract()
            for i in range(len(download_url)):
                if 'http://' not in download_url[i]:
                    download_url[i] = self.base_url + download_url[i]
            item['download_url'] = download_url
            title = response.xpath('//div[@class="de"]/h1/text()').extract_first().strip(' - 下载页')
            item['title'] = title
            yield item
    

    结果展示

    在这里插入图片描述
    github完整项目地址

    展开全文
  • 用了2小时写了一套学生作业水准的网站首页,希望这篇文章和代码能让更多新手了解HTML DIV+CSS布局的方法和原理…该网站的主题为《去旅行吧》,整个首页下来有1800字符的代码量,当然你可以直接将首页提交作业使用但...
  • ECshop新手入门模板制作教程[转载]

    千次阅读 2013-08-20 10:03:09
    授人以鱼 不如授人以渔, EC就算做再多的模板,肯定也满足不了我们的需要,更何况各行有各行的门道,EC统一做出来的模板也不一定合适于我们这个行业用,因此,只有我们真正掌握了自己做模板,修改模板的功夫,才能...

    授人以鱼 不如授人以渔, EC就算做再多的模板,肯定也满足不了我们的需要,更何况各行有各行的门道,EC统一做出来的模板也不一定合适于我们这个行业用,因此,只有我们真正掌握了自己做模板,修改模板的功夫,才能真正的打造适合自己的电子商务平台,真正打造符合自己行业内的客户习惯的电子商务平台。

    申明:偶第一次写这样的东东,如有写的不对的地方,请各位大虾斧正。然后怎么安装啊,使用啊。。。等等等的都有很多超级真正的版主在发了,模板教程实在没有,然后很多人头疼不以,应各位广大EC市民的呼唤,维护世界和平的责任感不得不让我挺身而出.(ps:狂吐.....^_@).

    首先欢迎各位浏览本教程,恭喜大家使用 ECshop,!EC有多好,ECshop是PHP构建的,PHP的应用我也不想多说了(亚马逊:amazon.com,雅虎:yahoo.com,百度:baidu.com淘宝:taobao.com新浪:sina.com,腾讯:qq.com),(ps: ECshop成功了!在这一刻,他是伟大电子商务的传承,他不是一个人在战斗,他不是一个人 -_-!!! ) 我也不多讲了大家都知道,不过有时候热爱潜水的我真的时是实在忍不住要跳出来说两句.

    教程适用于了解 ECshop 和 ECshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee ...意思就是可视化的HTML编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver来讲,这样比较适合初学者和设计师)。 这个教程目前由我一个人维护,但我相信,过不了多久就会有多人 持续地 维护。其中的内容需要不断地更新。如果您有兴趣参加,嘿嘿,PM我。我们一起为大家服务啊.

    通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。:)


      下列章节的适用于ECshop程序。 同时这里许多内容和一些 Smarty相关。 假如您已经熟悉这些内容可跳过不阅读。假如您是ECshop新手并且想diy一下自己的店铺, 那您应该认真详细地从头到尾读一遍这些章节。( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 )
    希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧!

    第一章节:

    读取这些内容,您将了解:

          每个前台页面所对应的模板页面,模板文件目录结构。

          一些最基本的ECshop模板修改方法。

          模板的路径以及相关包含文件的方法(深入了解Dreamweaver模板制作)。

          一些常用模板例子讲解.


    模板存放路径:
    ecshop/themes/xxxxx   其中的 xxxxx 就是某一套模板,如系统一般会自带的模板文件名叫做 default, (即:ecshop/themes/default )里面放的就是安装好时的默认模板,以下所有的说明都是针对默认模板来讲解.

    操作前提,将您当前使用的模板调整为default模板,然后清空缓存。

    接下来我们进入default目录,可以看到以下文件目录:
    images/        (存放模板中用到的图片)
    library/          ( 存放一些小模板文件及重复被用到的模板文件 )
    style.css        (模板样式文件)
    index.dwt     (首页的模板 index.php)
    goods.dwt   ( 商品显示页的模板 goods.php)

    *.dwt    (表示其它.dwt文件)

    虾米?难道你不相信这些就是模板吗?好,那我证明给你看看.

    我们把把images里面的logo.gif文件的名字,改为logo2.gif,然后
    我们随便找一张gif图片,起名为logo.gif放到images目录中,然后我们刷新首页。看到没?首页logo被修改了。

    如果你觉得大小不合适,那么我们打开library目录中的 page_header.lib 查看源代码,然后搜索 images/logo.gif 然后看它后面 width="130" height="56"  把130和56改为相应的值就可以了,到前台刷新看看。

    好接下来我们用dreamweaver打开index.dwt文件,在源代码中搜索 {$page_title} ,找到后,将{$page_title} 修改为 超级无敌的大卖场. 然后到
    到浏览器前台刷新,看看页面有什么变化。虾米?没有发现吗?看看浏览器头部啊,呵呵,是不是网站的标题被改变了?哈哈,对,{$page_title}就是网站标题的标签 ( 注: 标签是从{开始到}结束哦,{和}属于标签的一部分 ). 整个ECshop的模板就是一个一个这样的标签组成了,控制网站内容和数据的动态显示。比如({$keywords} )控制网站的关键字标签,{$description} :网站描述标签 ,( 这就是模板中的标签,每个标签都会对应程序里面的一个值,网站运行时模板引擎会来读取模板页面,然后把对应的标签用对应的值进行替换,就显示出我们看到的网站页面了,明白了吧。这一段内容对于新手来说,可能一下子不能完全消化,还有什么问题就留言,我会更新到这里来)

    很简单8,哈哈,大家真是冰雪聪明,孔明再世啊,这么快就学会了,如果你上一步你操作很超级非常very的简单的话,接下来的学习也时一样的哦.接下来要怎么改呢?广告之后我们继续。

    .....黄金广告位...欢迎购买......需要的话PM我.....(PS:人不能无耻到这个地步)....哈哈...

    大家不要着急,欲速则不达,呵呵,下面我们真正开始做ECshop的模板了,( 不懂HTML的观众准备好Dreamweaver哦 )

    1.   我们到/themes/default目录中,把index.dwt改名为index_bak.dwt, 然后用Dreamweaver新建一个HTML文件,然后保存到/themes/default目录中,命名为 index.dwt, 好,我们刷新前台看看,哈哈,什么也没有哦. 好,在我们新建的index.dwt中找到<title>,我们把<title>和</title>中间的内容替换为:{$page_title},在<body>和</body>之间也放入一个{$page_title}, 刷新前台看看.嘿嘿,看到什么了?网站标题被打印出来了吧?

    如有操作时候有弹出对话框:

    如图:

    点击确定就可以了,:)

    2.   接下来我们选择可视化界面编辑:然后在{$page_title}后面按Enter键换行,然后输入: 商店公告:{$shop_notice}
    到浏览器刷新首页刷新看看,呵呵。商店公告被调出来了,可以去网站后台 系统设置->商店设置->网店信息->商店公告  修改内容,然后到浏览器再刷新网站首页看看,呵呵,商店公告是被动态掉出来的哦.

    3.   好继续在{$shop_notice}后面按Enter键换行,然后输入

    1. 网站快讯:
    2. {foreach from=$new_articles item=article}
    3. {$article.short_title}
    4. {/foreach}
    复制代码

    注:换行的地方按Enter键哦,
    好刷新前台看看 ,呵呵,网站快讯被调出来了哦。好我们再到网站后台->文章管理->网站列表->添加文章,选择 网站快讯这个分类,随便添加一篇内容,完成后前台刷新看看。两篇文章都被动态掉出来了哦。

    注释:

    {foreach from=$new_articles item=article} : 循环的开始,
    {/foreach}  : 循环的结束
    $new_articles: 为要循环的东西,这里为网站快讯
    {$article.short_title} : 快讯标题的标签
    模式为:
    {foreach from=$post item=name}
    content
    {/foreach}



    {foreach from=$post item=name}和{/foreach}标签中间可以任意添加要循环的内容content(可以为任意的东西),循环的次数受到 $post的限制(这里要填什么我都会告诉大家的.)name为当前这个循环的对象。方便调用数据。

    以后这个循环我们会经常的用到哦. 还是不懂也没有关系,每次遇到我都会讲哪里要怎么设置的,多用就会了。

    我们也可以这么写哦 , 注意: 在代码编辑的视图里面编辑

    1. <table>
    2. {foreach from=$new_articles item=article}
    3. <tr><td>
    4. {$article.short_title}
    5. </td></td>
    6. {/foreach}
    7. </table>
    复制代码

    哈哈,保存,刷新首页看看,表格被一行一行的循环出来了哦



    好累啊,今天先写到这里,晚上有时间继续,哈哈如果喜欢就给我点支持啊,多给我提问题,我希望能够更完善帮助更多的人。


    明天的预告:
    产品列表调用,还有产品缩略图哦,呵呵!
    产品分类调用呢!

    第二章

    一人得道,鸡犬升天啊,谢谢ECshop将我提升为教程区版主 ,实在时荣幸啊,谢谢大家的支持,感谢零风,Arlicle,Orange, 谢谢我的笔记本电脑小白(注:她是黑色的,我喜欢她变白,哈哈),谢谢我的电脑桌,谢谢我的椅子,谢谢卡卡布熊,谢谢大家! 呵呵!  ~Orz.   

    模板教程继续啦!

    不知道大家是学会用循环了呢,还是我的言语实在有问题,大家实在无法完成阅读哦,居然大家都没有问题,暂时心里安慰,把他当做好事情,大家都会调用了,呵呵,那我们继续循环调用商品了!

    好,继续在我们昨天的基础上,我们在网站快讯的循环后面,按 Enter键, 输入:商品列表,接着建立一个2行3列的表格,宽度为70%, 表格边框为1(为了让大家看清楚 ),起HTML代码如下

    1. <p>商品列表</p>
    2. <table width="70%" border="1">
    3.   <tr>
    4.     <td>1</td>
    5.     <td>2</td>
    6.     <td>3</td>
    7.   </tr>
    8.   <tr>
    9.     <td>4</td>
    10.     <td>5</td>
    11.     <td>6</td>
    12.   </tr>
    13. </table>
    复制代码

    注: ( 1,2,3,4,5,6这些个是序号,方便跟大家讲解呢 )

    在这里,我们暂时先把下面这一行去掉(为了大家操作简单),变成

    1. <p>商品列表</p>
    2. <table width="70%" border="1">
    3.   <tr>
    4.     <td>1</td>
    5.     <td>2</td>
    6.     <td>3</td>
    7.   </tr>
    8. </table>
    复制代码

    我们要循环的是列,也就是<td>,因此我们的循环标签应该在<td> 和</td>的外面, 而2,和3应该是循环出来的东西,也就时我模板里面只用保留 1 这个td就可以了,2 和3都要去掉,

    于是就变成了下面的样子

    1. <p>商品列表</p>
    2. <table width="70%" border="1">
    3.   <tr>
    4.     <td>1</td>
    5.   </tr>
    6. </table>
    复制代码

    好,现在我们开始加循环标签,我们要调用的是精品推荐商品, 代码如下:

    1. <p>商品列表</p>
    2. <table width="70%" border="1">
    3.   <tr>
    4. {foreach from=$best_goods item=goods}
    5.     <td>{$goods.short_style_name}</td>
    6. {/foreach}
    7.   </tr>
    8. </table>
    复制代码

    注意了:foreach 表示下面的内容属于要进行循环,from=$best_goods 表示循环的内容来自$best_goods,($best_goods是精品商品推荐的标签 ) , item=goods 表示当前循环这一次的对象叫goods,你也可以改为其它的东东,当然{$goods.short_style_name}这个地方的goods也要相应的改了哦,{$goods.short_style_name} 表示goods 这个对象的商品名称.
    好了,我们保存,前台刷新看一下啊。呵呵,精品商品被循环出来了吧?

    接着,为了大家应用方便,我们把goods改为jingpinshangpin,代码如下:

    1. <p>商品列表</p>
    2. <table width="70%" border="1">
    3.   <tr>
    4. {foreach from=$best_goods item=jingpinshangpin}
    5.     <td>{$jingpinshangpin.short_style_name}</td>
    6. {/foreach}
    7.   </tr>
    8. </table>
    复制代码

    好前台刷新看看哦,呵呵,夷?如果你有很多的精品商品你会发现商品变了,因为精品商品是随机调取出来的.


    好我们继续完善他,给它加上链接对应商品的链接,也就是添加<a>属性, 代码如下:

    1. <p>商品列表</p>
    2. <table width="70%" border="1">
    3.   <tr>
    4. {foreach from=$best_goods item=jingpinshangpin}
    5.     <td><a href="{$jingpinshangpin.url}">{$jingpinshangpin.short_style_name}</a></td>
    6. {/foreach}
    7.   </tr>
    8. </table>
    复制代码

    刷新浏览器,点击链接看看链接到什么地方去了哦。呵呵! 链接到了每个产品自己的页面了呢。
    说明:标签 {$jingpinshangpin.url} 就是精品商品的商品链接的标签了,但是要记得哦,$jingpinshangpin 是你起的名字哦,item=$jingpinshangpin的这个 $jingpinshangpin改变了的话,这里也要跟着改变。

    接下来我们添加上商品的图片哦 ,也就是增加一个<img>属性 ,代码如下:

    1. <p>商品列表</p>
    2. <table width="70%" border="1">
    3.   <tr>
    4. {foreach from=$best_goods item=jingpinshangpin}
    5.     <td><a href="{$jingpinshangpin.url}"><img src="{$jingpinshangpin.thumb}" border="0" /><br>{$jingpinshangpin.short_style_name}</a></td>
    6. {/foreach}
    7.   </tr>
    8. </table>
    复制代码

    到前台刷新浏览器看看看,呵呵,商品缩略图也被调出来了。

    说明:标签 {$jingpinshangpin.thumb} 就是精品商品的缩略图的标签了,但是要记得哦,$jingpinshangpin 是你起的名字哦,item=$jingpinshangpin的这个 $jingpinshangpin改变了的话,这里也要跟着改变。

    如果你已经熟练理解和掌握了以上的步骤,那么下面就越来越清晰和容易了。

    接下来我们调取新品上市(标签为: $new_goods )和热卖商品( 标签为:$hot_goods) ,接着在刚才的代码后面加上去就是了。我就不多讲了哦,代码如下

    1. <p>新品上市</p>
    2. <table width="70%" border="1">
    3. <tr>
    4. {foreach from=$new_goods item=xinpinshangshi}
    5. <td><a href="{$xinpinshangshi.url}"><img src="{$xinpinshangshi.thumb}" border="0" /><br>
    6. {$xinpinshangshi.short_style_name}</a></td>
    7. {/foreach}
    8. </tr>
    9. </table>

    10. <p>热卖商品</p>
    11. <table width="70%" border="1">
    12. <tr>
    13. {foreach from=$hot_goods item=remaishangpin}
    14. <td><a href="{$remaishangpin.url}"><img src="{$remaishangpin.thumb}" border="0" /><br>
    15. {$remaishangpin.short_style_name}</a></td>
    16. {/foreach}
    17. </tr>
    18. </table>
    复制代码

    接着我们要一个Menu菜单,也就是做一个产品的分类列表出来。相信你现在至少知道分类的标签是什么,就知道要怎么做了吧,呵呵.

    分类的标签是:$categories

    代码如下:

    1. <p>分类列表</p>
    2. {foreach from=$categories item=fenlei}
    3.    <a href="{$fenlei.url}">{$fenlei.name}</a>
    4. {/foreach}
    复制代码

    到前台刷新看看哦,呵呵,分类列表被调取出来了,我们试着在后台多添加几个一级分类,然后到首页刷新看看。

    呵呵,我先去吃饭啦,吃完饭继续写如何把子分类调用出来,大家有问题多问哦,

    吃饭回来了....(PS:这是怎么地啊,呵呵!)

    子分类的标签是对应在父分类标签来调用的.代码如下:

    1. <p>分类列表</p>
    2. {foreach from=$categories item=fenlei}
    3.    <a href="{$fenlei.url}"> {$fenlei.name}</a>
    4.      {foreach from=$fenlei.children item=child}
    5.      <br>- - <A href="{$child.url}">{$child.name|escape:html}</A>
    6.      {/foreach}
    7. {/foreach}
    复制代码

    保存以后前台刷新看看呢。呵呵,怎么样?子分类也被调用出来了吧,当然可以根据自己的需要,加上不同的表格或者图片的修饰哦,子分类是放在了父分类标签的基础上来调用的呢。

    不过如果你的分类已经固定了很少改动,我建议还是做成死的,这样可以做的更漂亮一些,比如每个分类直接是用图片来代替。呵呵,我一般就是这么处理的,我除了商品和新闻是动态调用出来的以外,其它的都是做成固定的死的,这样就能够设计的很漂亮,因为有时候受到代码的限制,做出来不是很好看。(...说的好模糊,您能理解吗?不能的话就告诉我 ).

    本来教程已经写了好多了,但是很多地方写的有点让新手不是那么容易接受,所以就一直在想办法,如何讲解的更简单一些,能让每个人都学会做模板。思考中.....


    由于个人原因,今天教程停播一天,明天继续,实在不好意思各位. ~Orz.

    啊,今天的章节就算是结束啦,明天预告:

    1.如何调用某个分类里面的商品
    2.如何制作商品展示页面的模板
    3.完善前面讲的章节,并对大家提出的问题做出解答

    今天我们来学习如何掉用某一个分类里面的产品。
    首先把 default文件夹中的category.dwt 的名字改为category_bak.dwt,然后新建一个category.dwt文件. 然后插入下面的代码:

    1. {foreach from=$goods_list item=goods}
    2. <img src="{$goods.goods_thumb}" border="0"  /><br>
    3. {$goods.goods_name}
    4. {/foreach}
    复制代码

    注:$goods_list表示商品标签

    接着我们访问这个页面:(Ecshop的访问网址/category.php?id=1)例如:http://localhost/ecshop/category.php?id=1
    这样我们就访问到了分类id为1的商品了,我们也可以让id=2就访问到id = 2商品了,那如何看某个分类的id呢?
    我们看后台: 商品管理-》商品分类-》就可以看到商品分类的列表,然后把鼠标指上去选择新窗口打开,就能在地址来里面看到goods.php?act=list&cat_id=1这样子的信息,cat_id所等于的值就是这个分类的id了,然后就可以拿来调取了,呵呵。


    好每次每次都把商品的列表调取出来了,那么如何调取某一个商品的页面呢?
    首先把 default文件夹中的goods.dwt 的名字改为goods_bak.dwt,然后新建一个goods.dwt文件. 然后插入下面的代码:

    1. 商品图片: <img src="{$goods.goods_img}" /><br><br>
    2. 商品名称:{$goods.goods_style_name}<br><br>
    3. 商品货号:{$goods.goods_sn}<br><br>
    4. 商品品牌: {$goods.goods_brand}<br><br>
    5. 商品数量:{$goods.goods_number} 单位:{$goods.measure_unit}<br><br>
    6. 添加时间:{$goods.add_time}<br><br>
    7. 市场价格:{$goods.market_price}<br><br>
    8. 本店价格:{$goods.shop_price_formated}<br><br>
    9. 注册用户价格:{$rank_price.price}<br><br>
    10. 注册用户价格:{$rank_price.price}<br><br>
    11. 注册用户价格:{$rank_price.price}<br><br>
    复制代码

    接着我们访问这个页面:(Ecshop的访问网址/goods.php?id=1)例如:http://localhost/ecshop/goods.php?id=1
    这样我们就访问到了商品id为1的商品了,我们也可以让id=2就访问到id = 2商品了,那如何看某个商品的id呢?
    我们看后台:商品管理-》商品列表-》就可以看到商品品的列表,最前面那一栏就是商品的id了,,然后就可以拿来调取了,呵呵。

    还有人在问品牌的,某一个品牌的商品怎么调用,呵呵,下次有时间再讲

    更新啦!!



    今天我们学习一下如何在首页调取某个分类的商品:
    注意了,这里的修改有一些麻烦了哦:
    首先你需要下载一套新的模板,比如blueksy 上传到模板目录 /themes/   也就是 /themes/bluesky,

    然后进入网站后台->模板管理->模板选择,选择bluesky, 选择OK,
    然后到网站后台 -> 模板管理 -> 设置模板 -> 分类下的商品 ( 点击分类下的商品前面的+号,然后选择“主区域中间“,序号默认, 商品分类随便选择一个就可以了", 然后填写显示的条数,填写好后点击确定提交,( 注意: 有的朋友可能会遇到提交不了,是因为权限问题,需要把bluesky的模板权限改,然后再重新提交一次)。

    这里我增加了两个,的数据是:主区域空间 0 手机  6
                                              主区域空间  0 手机 6
    我们在这里增加了多少条记录,对应首页就可以调取多少个分类。
    好接下来我们恢复模板为原来我们改过的default模板

    在我们以前做的基础上增加如下代码(也就是在原来代码的下面加上):

    1. <p>第一个分类的<p>
    2. <?php $this->assign('cat_goods',$this->_var['cat_goods_1']); ?><?php $this->assign('goods_cat',$this->_var['goods_cat_1']); ?><?php echo $this->fetch('library/cat_goods.lbi'); ?>
    3. <p>第二个分类的<p>
    4. <?php $this->assign('cat_goods',$this->_var['cat_goods_3']); ?><?php $this->assign('goods_cat',$this->_var['goods_cat_3']); ?><?php echo $this->fetch('library/cat_goods.lbi'); ?>
    复制代码

    这里要注意了, 红色的 1 代表你要显示分类的分类的ID, 将它改为你需要的 刚才添加的ID就可以了
    红色的 3 代表你要显示分类的分类的ID, 将它改为你需要的 刚才添加的ID就可以了

    好了,保存,前台刷新看看啊,呵呵.是不是我们要的分类就出来了,

    看样子改起来很简单哦,不过每次都是这样要操作两个模板才能改还是有些麻烦,呵呵,等到高手进阶的时候再来讲怎么做。

    仔细一看还是有点不好的地方哦,就是样子不好看啊,对不对?是默认模板的样子,没有关系啦,我们打开 librasy目录中的cat_goods.lbi文件修改就可以了。修改要注意的地方上门讲过了,不过这里还是要再说明一些小问题

    cat_goods.lbi的代码如下:

    1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    2. <div class="title-div"><img src="../images/green_arrow.gif" width="37" height="37" alt="" border="0" style="vertical-align:middle" /><a href="{$goods_cat.url}">{$goods_cat.name|escape:html}</a></div>
    3. <div class="content-div">
    4.   <!--{foreach from=$cat_goods item=goods}-->
    5.   <table border="0" cellpadding="3" cellspacing="1" class="goods-table" style="float: left">
    6.     <tr>
    7.       <td align="center"><a href="{$goods.url}"><img src="{$goods.thumb}" border="0" alt="{$goods.name|escape:html}" class="thumb" /></a></td>
    8.     </tr>
    9.     <tr>
    10.       <td><a href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.short_name|escape:html}</a><br />
    11.         <!-- {if $goods.promote_price neq ""} -->
    12.         {$lang.promote_price}<span class="goods-price">{$goods.promote_price}</span>
    13.         <!-- {else}-->
    14.         {$lang.shop_price}<span class="goods-price">{$goods.shop_price}</span>
    15.         <!--{/if}-->
    16.       </td>
    17.     </tr>
    18.   </table>
    19.   <!--{/foreach}-->
    20.   <br style="clear:both"/>
    21. </div>
    复制代码

    这里哦于一些奇怪的地方就是在标签两边多了 <!-- 和 --> 符号,这个是没有关系的.删除掉也没有关系的啦

    好了,今天就讲到这里,继续咳嗽,呵呵!吃药去了 .....


    常见问题解答:
    1.  怎么让首页显示的每行3个商品能够按照普通屏或者宽屏,自动的缩放。
    答:把表格宽度设置为百分比,或者在Css中设置为百分比就好了。
    2. 又或者改成每行固定4个显示 ?
    答:到网站后台 -> 模板管理 -> 设置模板
    3 .首页图片大小是多少?图片点击放大后为什么失真这么厉害?怎么让图片自动调节大小?
    答:有两种方法哦,第一种就是到网站后台,重新设置缩略图的大小,然后再批量重新生成缩略图
    第二中方法就是把图片显示的高和宽都去掉(即:把width=***,height=***删除掉),它就显示原始的大小了.

    展开全文
  • js模板baidu template简单入门

    千次阅读 2014-06-07 18:06:52
    现在这个项目接触到了js模板,刚开始做demo的
  • springboot+thymeleaf+maven+html+css实现精美大方好看官网模板完整源码 不需要搭建数据库即可启动,如果需要后台管理+数据库可以自己迭代拓展增加; 项目可以轻易修改,非常简单,非常适合新手
  • 说在前面 Android Studio版本:3.2 操作系统(AS):Windows10 Android版本:5.0.2 摄像头:USB摄像头(640*480贼辣鸡)...接上篇:【UVCcamera/新手向】AS中使用OpenCV进行简单人脸识别 一些说明 大致流程 ...
  • 简单HTML5+CSS3页面布局

    2016-01-22 17:30:03
    自己写的一个简单HTML5+CSS3页面布局,适合新手学习,MIchael学院
  • nodejs 简单实现动态html

    万次阅读 2017-08-21 09:32:39
    原理:通过正则表达式,替换html中的模板数据 如用户名{name},可以通过拿到用户提交的name的值value,通过 replace(正则表达式,value)的方式替换掉原模板数据,并输出到客户端。 2.主要用到的方法和模块 2.1...
  • 简约而不简单的Django新手图文教程

    千次阅读 2017-07-12 15:16:17
    http://www.cnblogs.com/feixuelove1009/p/5823135.html  本文面向:有python基础,刚接触web框架的初学者。  环境:windows7 python3.5.1 pycharm专业版 Django 1.10版 pip3 一、Django简介 ...
  • HTML设计简单的教务管理系统

    千次阅读 2020-11-19 18:16:47
    这是《人机界面设计》的一个作业,运用了HTML,css,javascript的基本操作设计出来的一个西安邮电教务系统的简单页面 本文适合新手运用所学的前端知识进行尝试,建议使用vscode编译器并安装相关包 话不多说,先看...
  • 2014中秋祝福模板

    2014-09-01 15:16:27
    适合新手研究学习的html网页源文件,简单的javascript代码。css+div布局。
  • 几个月前第一次听说了angularjs这个框架,那时并没有什么好感。因为我偏执的认为angular这个名字很晦涩,不易记忆和理 ...angularjs 最酷炫的五大特性:双向绑定,依赖注入,mvc,模板,Directives。 学习angul
  • 自适应 页面模板.rar

    2021-03-06 16:27:59
    自适应网页 可任意修改 简单快捷
  • asp.net模板引擎模板

    千次阅读 2019-06-23 10:59:19
    模板引擎需要正则和反射两个工具。 <!DOCTYPE html> <html> <head> <title>${SYS_NAME}</title> </head> <body> $require('${id}') ${partial:"common/blog.header....
  • 本人是个代码小白,完全不懂,一开始心里面想... 把自己的建站历程分享给更多存在畏难情绪的新手小白们。 最开始搜索小白建站教程,记得最后是跟一个叫“马克比留学设计?”做的wordpress零代码建站教程学的。 步骤...
  • PHP模板的优点

    千次阅读 2016-11-22 15:06:52
    PHP模板的应用对于我们新手来说并不是能完全掌握。下面我们就来仔细分析一下PHP模板优点给我们带来的好处。“模板这东西,其实最重要的是适合自己的项目需求,而不是适合自己的习惯.比如一个企业的宣传网站,访问量不大...
  • 一、 建立站点区域——我们存放新闻的位置该模块的站点区域设置为:/QRCompany/INFO/zyxwWeb内容管理器—编写—站点管理—站点框架—...二、 编写模板的编写方法*名称:QRAuthoringTemplate点击“设计与开发”----
  • Django模板语言

    千次阅读 2016-08-30 16:15:34
    模板系统基础 Django模板是一个string文本,它用来分离一个文档的展现和数据 模板定义了placeholder和表示...让我们来看看一个简单模板例子: [java] view plain copy   Ordering not
  • Edraw Max(亿图图示)作为国内仅有的一款综合类型的图形图表设计软件,除了强大的绘图功能,还有丰富的模板和例子,在绘制思维导图方面也十分的简单、快捷,画出来的图表也更专业、时尚!本文总结了Edraw Max(亿...
  •  我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单,即使是小吃部的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,888
精华内容 6,355
关键字:

新手html简单模板