原文链接:http://www.supperxin.com/Coding/Details/create-blog-using-craft-cms

Craft CMS站点的搭建可以参考这篇:使用Docker镜像服务来搭建 craft cms 站点

Template功能简介

使用Template,可以自定义网站的呈现样式。

Template的保存位置在:craft/templates,可以在此目录下任意建立template,或者文件夹+Template,假如现在有Template:craft/templates/news/index.html,则此Template对应的url为:http://ip/news/。

要注意的是,Craft 的Template使用的是twig,且不允许直接使用php代码,关于twig,可以参考:Twig Primer

创建field

blog需要的栏位:Title, Body, Tag, Published, PublishDate:

创建Section

创建名为Blog的section,并将如下选项去除: Entries in this section have their own URLs

添加field到section

编辑section的Entry Types,将之前添加的栏位全部添加进来。

添加template

在template目录下,新建blog目录,建立文件:

index.html,用于呈现blog列表,内容如下:

{% set blogs = craft.entries.section('blog') %}

{% extends "_layout" %}

{% block content %}
<main role="main"> <section class="content">
<ul class="download-links">
{% for blog in blogs %}
<li><a href="/blog/{{blog.slug}}">{{blog.title}}</a></li>
{% endfor %}
</ul>
</section>
</main>
{% endblock %}

details.html,用于呈现blog内容,内容如下:

{% set blog = craft.entries.section('blog').slug(craft.request.lastSegment).first %}

{% extends "_layout" %}

{% block content %}
<main role="main">
<section class="content">
<h1>{{blog.title}}</h1>
<p>{{blog.body}}</p>
</section>
</main>
{% endblock %}

为blog配置route

在route中添加:blog/slug --> blog/details的映射关系,这样就可以通过/blog/slug来访问一篇具体的blog。

最终的呈现效果如下:

参考:

使用 Craft CMS 搭建blog模型的更多相关文章

  1. Hugo快速搭建Blog

    以往我们搭建blog要么学习一个编程语言+Web开发框架,要么使用现成的blog系统(如WordPress).其实我们还可以使用Hugo.Hugo是由Go语言实现的静态网站生成器,它不需要数据库,所以 ...

  2. 用 hugo 和 netlify 搭建blog【转】

    用 hugo 和 netlify 搭建blog - kok的笔记本 Releases · gohugoio/hugo · GitHub 测试baidu 测试163

  3. keras入门(三)搭建CNN模型破解网站验证码

    项目介绍   在文章CNN大战验证码中,我们利用TensorFlow搭建了简单的CNN模型来破解某个网站的验证码.验证码如下: 在本文中,我们将会用Keras来搭建一个稍微复杂的CNN模型来破解以上的 ...

  4. 使用 Django1.11搭建blog项目

    使用Django搭建blog项目 简单设置: http://blog.csdn.net/w_e_i_/article/details/70761604 模板渲染: http://blog.csdn.n ...

  5. 从零搭建Pytorch模型教程(三)搭建Transformer网络

    ​ 前言 本文介绍了Transformer的基本流程,分块的两种实现方式,Position Emebdding的几种实现方式,Encoder的实现方式,最后分类的两种方式,以及最重要的数据格式的介绍. ...

  6. 从零搭建Pytorch模型教程(四)编写训练过程--参数解析

    ​  前言 训练过程主要是指编写train.py文件,其中包括参数的解析.训练日志的配置.设置随机数种子.classdataset的初始化.网络的初始化.学习率的设置.损失函数的设置.优化方式的设置. ...

  7. 用GitHub Pages免费空间搭建Blog

    前言   其实之前就知道可以用GitHub Pages搭建静态博客,不过之前一直忙着爬手册撸代码==,昨天终于把前端各种手册里的入门教程撸的差不多了(CSS布局撸的我要吐了好嘛),于是把代码什么的放一 ...

  8. .NET Core/.NET5/.NET6 开源项目汇总4:CMS、Blog项目

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  9. django 快速搭建blog

    如果本文看不懂的,去看的我视频吧!http://www.testpub.cn/ ------------------------------------------- Django 自称是“最适合开发 ...

随机推荐

  1. Linux安装OpenCV

    sudo apt-get update sudo apt-get install git git clone https://github.com/jayrambhia/Install-OpenCV ...

  2. console_init()分析

    启动阶段初始化控制台流程分析, start_kernel console_init(); -->tty_ldisc_begin(); /* Setup the default TTY line ...

  3. 使用IAR在开发nordic问题记录

    使用IAR在开发nordic的sdk的时候,官方有一段话*****Note for IAR 8 users:(Libraries for IAR 8 require wchar_t to be of ...

  4. ie9/8的iframe中jQuery报错

    此文章用于对工作中遇到的问题进行记录 jQuery 版本:1.9.1 按照一般的思路,jquery 1.x的是支持ie9及以下的,但是今天发现jquery报错了,代码错误位置在源码版本的第4888行 ...

  5. [git 学习篇]自己在github创建一个远程服务器创库

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...

  6. 九度oj 题目1373:整数中1出现的次数(从1到n整数中1出现的次数)

    题目描述: 亲们!!我们的外国友人YZ这几天总是睡不好,初中奥数里有一个题目一直困扰着他,特此他向JOBDU发来求助信,希望亲们能帮帮他.问题是:求出1~13的整数中1出现的次数,并算出100~130 ...

  7. 读《深入浅出Mysql》第二版,笔记

    买了本书,同时网上找了电子版 (My)SQL入门 DDL(Data Definition Languages) ||DESCRIBE tablename; DML(Data manipulation ...

  8. 设计模式(二 & 三)工厂模式:3-抽象工厂模式

    什么是抽象工厂? 抽象工厂模式,引入了“产品族”的概念. 何为产品族?还是以 设计模式(二)工厂模式:2-工厂方法模式 提到的 Operation 为例. 之前讨论的都是局限于 Operation 这 ...

  9. 【bzoj2115】[Wc2011] Xor DFS树+高斯消元求线性基

    题目描述 输入 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 Di的无向边. 图 ...

  10. 【Luogu】P4234最小差值生成树(LCT)

    题目链接 能把LCT打得每个函数都恰有一个错误也是挺令我惊讶的. 本题使用LCT维护生成树,具体做法是对原图中的每个边建一个点,然后连边的时候相当于是将边的起点跟“边”这个点连起来,边的终点也跟它连起 ...