ThinkPHP开发博客系统笔记之一

开发的第一步是搭建前后台系统。搭建前台系统的时候新建了LoginController控制器和登录界面View/Login/index.tpl。模板文件中需要引入js和css文件,这里想通过在配置文件中创建模板变量的方式简化脚本文件的引入,但在创建的过程中遇到了问题。

Home/Conf/config.php
<?php
return array(
    ‘TMPL_PARSE_STRING‘    => array(
        ‘__CSS__‘    =>    ‘__PUBLIC__/Home/css‘,
        ‘__JS__‘    =>    ‘__PUBLIC__/Home/js‘,
        ‘__IMG__‘    =>    ‘__PUBLIC__/Home/img‘,
    ),
);
View/Login/index.tpl
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>微博系统——登录界面</title>
        <script type="text/javascript" src="__JS__/jquery.js"></script>
        <script type="text/javascript" src="__JS__/jquery.ui.js"></script>
        <script type="text/javascript" src="__JS__/login.js"></script>
        <link rel="stylesheet" href="__CSS__/jquery.ui.css">
        <link rel="stylesheet" href="__CSS__/login.css">
    </head>
    <body>

    </body>
</html>

结果__JS__等几个变量在模板文件中无法正确解析。原因是__PUBLIC__是模板替换变量,只有出现在模板文件中时才会被替换为对应的字符串。而__ROOT__、__APP__、__MODULE__、__CONTROLLER__、__ACTION__、__SELF__既是模板替换变量,也是系统常量,它们可以应用在模板文件和配置文件中,所以这里可以用__ROOT__

Home/Conf/config.php
<?php
return array(
    ‘TMPL_PARSE_STRING‘    => array(
        ‘__CSS__‘    =>    __ROOT__.‘/Public/Home/css‘,
        ‘__JS__‘    =>    __ROOT__.‘/Public/Home/js‘,
        ‘__IMG__‘    =>    __ROOT__.‘/Public/Home/img‘,
    ),
);

这里还可以用系统常量MODULE_NAME代替模块名称Home,改进后的版本如下:

Home/Conf/config.php

<?php
return array(
    ‘TMPL_PARSE_STRING‘    => array(
        ‘__CSS__‘    =>    __ROOT__.‘/Public/‘.MODULE_NAME.‘/css‘,
        ‘__JS__‘    =>    __ROOT__.‘/Public/‘.MODULE_NAME.‘/js‘,
        ‘__IMG__‘    =>    __ROOT__.‘/Public/‘.MODULE_NAME.‘/img‘,
    ),
);
时间: 2024-10-20 12:04:40

ThinkPHP开发博客系统笔记之一的相关文章

Django开发博客系统(01-前言与需求分析)

原本是跟着视频学,无奈发现视频中用到的资源找不到,于是自己买了本书来进行学习,贴上JD链接.<Django企业开发实战> 我的开发环境是win10+python3.8+django3.0.4,而书上是在linux环境下进行开发的,= =(汗),先这样学下去吧,毕竟面向百度编程.写博客也是为了督促一下自己,毕竟在家里宅着容易学着学着就玩手机去了.. 书前面还有一些入门知识,这里我就直接跳到做项目的部分了. 目标是开发一个博客系统, 需求分析: 简单来说,博客分为两个部分:读者访问部分(用户端)和

Django开发博客系统(04-常用字段与属性)

Django models中常用的字段类型 数值型 这些类型都是数值相关的. l  AutoField int(11). 自增主键,Django Model默认提供,可以被重写.完整定义是 id = models.AutoField(primary_key=True) l  BooleanFueld tinyint(1). 布尔类型字段,一般用于记录状态标记. l  DecimalField decimal. 开发对数据精度要求高的业务时考虑使用,比如做支付相关,金融相关.定义时需要指定精确到多

Django开发博客系统(08-路由配置与views编写)

我们需要的页面: l  博客首页 l  博文详情页 l  分类列表页 l  标签列表页 l  友链展示页 但实际上,博客首页,分类列表页和标签列表页,本质上都是文章列表页,只有一些信息有差别.那么View大概就有三类: l  列表页: 根据不同的查询条件分别展示博客首页,分类列表页和标签列表页 l  博文详情页: 展示博文详情页 l  友链展示页: 展示所有友情链接 书上使用的环境是django1.11.1,而我使用的是3.0.4,所以路由我使用path来写,并且把路由分散开来写,让代码分工能明

Django开发博客系统(07-根据需求定制管理后台)

运行系统尝试添加用户并添加数据,出现的效果 可以看到当前登录的用户虽然是DOCTOR,但依然可以看到其他用户的文章,而且过滤器上也展示了非当前用户创建的分类,显然这是一个需要我们解决的问题. 首先解决右侧过滤器的功能,这时需要自定义过滤器,这里贴上文档中的说明 接下来我们就来编写自定义过滤器的代码: 1 class CategoryOwnerFilter(admin.SimpleListFilter): 2 """自定义过滤器只展示当前用户分类""&quo

Django开发博客系统(11-使用xadmin)

这段时间进行了前端页面的美化,实现了搜索功能与评论功能,以及配置了rss和sitemap,不过这些东西后期可能还会进行大改,所以暂时不准备讲,可能完成之后会一起说一下...吧. 另外这里贴上我的源码,不过还没有完成,有兴趣可以去看看. 今天将后台的admin替换为了xadmin,xadmin是国人创建的一个开源项目,作者github,这个项目简单来说可以完全无痛地替换admin,同时增加很多有用的功能,界面也是基于Bootstrap,相较自带的更美观. 先来看看最终完成的效果图吧 接下来就进行x

node.js 开发博客系统

1. 安装yoman :npm install -g yo 2. 安装 generator-express :npm install -g generator-express 3. 安装 bower :npm install -g bower 前三项都是各种工具的安装,安装失败往往都是版本不兼容导致的.一般可以通过更新解决问题.

node.js开发博客系统前端项目搭建(一)

Express: https://github.com/petecoop/generator-express 安装node.js和npm 执行: npm install -g yo npm install -g generator-express 执行:yo 创建项目成功. 项目的目录: brew安装:MongoDb http://blog.csdn.net/moumaobuchiyu/article/details/54885306 http://www.cnblogs.com/junqili

Django开发博客系统(05-QuerySet的使用)

在Model层中,Django通过objects属性来提供数据操作的接口, 比如我们想要查询所有文章的数据,只需要 Post.objects.all() 他会返回一个QuerySet对象,当我们需要用到它时,它会去db中获取数据,注意是用到的时候才会去查,而不是定义的时候去查,原因是QuerySet要支持链式操作,如果每次执行都要查询数据库的话,会影响性能,假设我要查询所有文章中状态为正常的文章,有如下代码. posts = Post.objects.all() available_posts

【ASP.NET实战教程】基于ASP.NET技术下多用户博客系统全程实战开发(NNblog)

岁末主推:牛牛老师主讲,多用户博客系统,基于ASP.NET技术,年后将带来移动业务平台项目项目目标: 打造个性品牌Blogo,定制多用户博客 为每一个博客用户提供个性化的 blogo解决方案,打造精品blogo门户网站  环境:VS2008+SQL Server2005 [小编推荐:现在学习可以使用 VS2012或者以上+SQL 2008或及以上  环境不一定必须和教程一样,学习的是思路]主要技术: 主体框架:逻辑架构ASP.NET MVC,物理架构Three Ties,2者相结合. 为了提高网