pageadmin CMS 如何添加自定义页面
理论上网站上的所有页面都可以通过栏目管理来添加,那自定义页面的意义是什么呢?
网站的需求是很多样化的,比如需要制作一个对外提供数据的api,甚至制作一个搜索页面,或者制作一些数据和栏目没有对应关系的页面,这些页面独立于网站栏目,如果用栏目页来制作,会导致栏目结构混乱和不好维护,这时候自定义页面就可以很好解决这种问题,下面我们演示如何制作一个自定义的搜索页面。
1、打开网站模板文件目录,新建一个MyRoute.config文件(保存为utf8格式),文件名称规则为: *Route.config,如下图:

2、打开这个文件,输入下面的xml内容,并保存。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<route urlConstraint="^/news/search/([1-9]\d{0,8}/)?$" viewPath="帮助中心/search.cshtml" httpcacheSolutionId="0" columnId="0" title="帮助搜索"></route>
</configuration>
其中route节点为自定义页面的路由参数,多个自定义页面可以新建多个route节点。
urlConstraint:表示url的正则匹配规则,匹配的话就可以请求viewPath指定的模板文件。
viewPath:模板文件对应的相对路径,这里只填写相对路径,模板必须放在views目录下。
httpcacheSolutionId:自定义使用的缓存方案Id,如果不使用缓存,设置为0。
columnId:自定义页面对应的栏目id,如果不需要对应,设置为0。
title:自定义页面的浏览器中显示的标题。
3、点击views。

4、创建一个帮助中心文件夹,如下图:

5、点击打开帮助中心,创建一个search.cshtml文件(保存为utf8格式),如下图:

6、打开搜索页面,输入下面内容:
@{
var keyword = Request.QueryString["key"];//获取搜索关键词
var i=0;
}
<div>
<div class="container">
<ul class="breadcrumb">
<li><a href="/"><span class="fa fa-home"> 首页</span></a></li>
<li><a href="">在线搜索</a></li>
</ul>
<div class="news-list">
@if (!string.IsNullOrEmpty(keyword))
{
foreach (var item in Html.InfoDataList(new { Table = "news" }, "[title] like @title", new { title = "%" + keyword + "%" }))
{
string url = Html.InfoDataUrl((int)item.ColumnId, (int)item.Id);
<div class="item clearfix">
<div class="title"><a href="@url" target="_blank"><i class="fa fa-angle-right"></i>@item.Title</a></div>
</div>
i++;
}
}
@if(i==0)
{
<div>暂时没有找到匹配的记录,请更换一个关键词重新搜索!</div>
}
</div>
</div>
这样一个简单的搜索页面(搜索news表,注意需要有news信息表,否则会报错)就制作完成了。
7、点击左上角的重启图标,重启进程后后自定义页面路由生效

8、在浏览器输入:http://你的域名/news/search/就可以打开搜索页面。

在使用pageadmin建站软件做网页设计的时候不懂的可以参考一下帮助中心的文章。
pageadmin CMS 如何添加自定义页面的更多相关文章
- .NET PageAdmin CMS
.NET PageAdmin CMS 完全破解步骤(非简单去版权) 其实当初我的目的是很纯洁的,只是想找一个简单的网站生成模板,由于对.net更熟悉一点,就去搜索了.net框架的CMS,看它的介绍挺强 ...
- pageadmin CMS网站制作教程:模板概念解释
pageadmin CMS网站建设教程:模板概念解释 1.模板页 又叫视图页面,PageAdmin后台栏目或信息中用到的模板页面的统称,格式必须是.cshtml后缀文件,前端人员制作的页面默认都是ht ...
- pageadmin CMS网站建设教程:模板中如何实现信息数据共享
pageadmin CMS网站制作教程:模板中如何实现信息数据共享 很多时候信息数据需要共享,一个最常用的应用场景就是手机版(独立手机,非响应式)本共享pc版本数据,下面以这个场景为例讲解. 假设手机 ...
- PageAdmin CMS网站制作教程实例:如何制作一个报名表?
PageAdmin CMS网站建设实例:如何制作一个报名表? 有时我们根据需求需要制作一些自定义表,该如何去制作呢? 我们以制作一个报名表为例: 登录后台地址,进入后台, 2.在顶部导航中找到系统,并 ...
- PageAdmin CMS网站建设教程:如何创建及管理栏目?
PageAdmin CMS网站制作教程:如何创建及管理栏目?1.登录管理后台后,在顶部导航中找到网站,并点击: 2.在左侧栏目中找到栏目管理,并点击: 3.进入到栏目管理页面,在顶部找到菜单,点击添加 ...
- pageadmin CMS网站建设教程:如何修改用户密码?
pageadmin CMS网站建设教程: 当我们想修改密码,该如何修改呢? 1. 首先,登录会员中心,会员中心的地址是在网址后面加上/member/login: 2. 例:我的网站地址是localho ...
- pageadmin CMS网站制作教程:
pageadmin CMS网站建设教程:模板中如何实现信息数据共享 很多时候信息数据需要共享,一个最常用的应用场景就是手机版(独立手机,非响应式)本共享pc版本数据,下面以这个场景为例讲解. 假设手机 ...
- pageadmin CMS网站制作教程:栏目单页内容如何修改
pageadmin CMS网站制作教程:栏目单页内容如何修改 一般情况下,如公司介绍,联系方式等介绍内页面都属于单页,单页内容可以直接在栏目设置界面进行修改,如下 1.对栏目单页内容进行设置,登录后台 ...
- 程氏CMS去掉静态页面的隐藏性版权方法
程氏CMS去掉静态页面的隐藏性版权方法 实例如图: 因为之前自己找了好久都没找到这俩代码写在那个文件夹的,经过跟csqq8讨论了也没有得到结果,今天突然发现,原来这些代码都经过base64加密,用加密 ...
随机推荐
- javascript instanceof,typeof的区别
区分string 与 String的区别 为什么结果会是false呢? <script type="text/javascript"> var aColors = [& ...
- Eclipse 安装Hibernate Tools 工具 提高开发效率
1.打开Eclipse 开发工具 2.配置使用hibernate Tools 3.选择search 选项卡,搜索 hibernate 关键字 点击Install Next finish ...
- 【转】跨DLLnew delete问题
转两篇文章来说这个问题的 链接1:https://blog.csdn.net/notebook2001a/article/details/6647850 链接2:https://blog.csdn.n ...
- manjaro i3 配置笔记
更改国内源 sudo pacman-mirrors -GB testing -c China 增加Arch linuxcn源 在/etc/pacman.conf文件末尾添加两行: [archlinux ...
- Go structs、slices、maps
[Go structs.slices.maps] 1.定义时*在变量名后面,使用时*在变量名前面. 2.定义struct,type在前,struct关键字在后. 3.指针可以指定struct. 4.A ...
- go_结构体和方法
面向对象:go语言仅支持封装不支持继承和多态 所以go语言没有class,只有struct(结构体) 无论地址还是结构本身,一律用 . 来访问成员 go语言编译器可以自动区分是值传递还是指针传递,值传 ...
- $_SERVER['PHP_AUTH_USER']
PHP 的 HTTP 认证机制仅在 PHP 以 Apache 模块方式运行时才有效,因此该功能不适用于 CGI 版本.在 Apache 模块的 PHP 脚本中,可以用 header() 函数来向客户端 ...
- Create Empty Project In Vs But Not Debug?
问题描述 在使用VS创建一个空的项目管理,然后,添加项目.可是,这个时候,项目虽然可以运行,但是不能Debug进行调试. 解决方法 按照下面三张图像的设置即可.
- NOSQL之Redis、MongDB、Habase、Cassandra的介绍与比较
一.Redis介绍 1.1Redis优点 (1)Redis拥有非常丰富的数据结构: (2)Redis提供事务的功能,可以保证一串命令的原子性,中间不会被任何打断. (3)数据存储在内存中,读写 ...
- [Selenium]等待元素出现之后再消失,界面上的loading icon都属于这种类型,之前的方法总是卡死,换这种方法目前还好用的
等待元素出现之后再消失,界面上的loading icon都属于这种类型,之前的方法总是卡死,换这种方法目前还好用的 /** * Check if the element present with cu ...