开源框架DNN使用01
我先简单地介绍下我个人对于DNN的浅显理解吧。
我觉得对于刚接触的人来说首先理解DNN的原理,大框架是很重要的。它整个网站其实是没几个页面的,从源码上就可以看出,

一个Default页、一个Error页、keepalive页。最重要,最主要的,当然就是default了。可以说不管你之后创建多少个页面,每个页面上有多复杂的内容,其实都是放在这一个页面上的。你后续自己创建的页面也不过是他的用户控件罢了。它就是封装无数个用户控件,可以说你所有在网站上看到的,都是一个一个的用户控件,你可以对它直接使用,也可以进行二次开发。随意。
接下来我就开始介绍下使用咯。
用host登陆进去之后,首页是这个样子的(选了默认template的话)注:我都是用的host账户登陆的哦

一、如何增删改页面?
1.1新增页面

会弹出一个框,就是填一些页面信息之类的,我就不多说了。需要注意的地方就是页面权限要设置一下,每个新增的页面都要设置一下的哦。
1.2删除页面
如果是删除页面,
直接点击delete就ok了。需要注意的就是如果误删了,可以去andmin->recyclebin 找到就可以了,DNN网站是自带的有回收站的,关于这个回收站,它也是一个用户控件啦,是它定义好的,如果你把回收站也误删了,可以在module->add new module->recyclebin,这个回收站模块是只属于管理员的,其他人是添加不了的。
1.3 修改页面
修改页面信息的话,你可以点击Page Settings ,不过他只可以让你修改页面的名称、样式、模块名称之类的,总之里面的具体内容的话,是只能动模块里面修改的。

二、增删改模块
2.1新增模块

Add New Module就是添加一个新的模块 ,Add Existing module就是添加一个已经存在的模块,也就是你曾经添加过的模块(在当前页或者其他页的都可以),需要注意的就是,通过第二种途径添加的模块,会连动的哦,也就是你改当前的,会同时影响你之前添加的。
Create module是DNN开发的一个供开发人员进行使用的自定义module的一个用户控件。
2.2删除模块
如果是要删除页面上的某一个模块,点击Edit this Page 使得页面处于可编辑状态,你会看到页面上是一个一个的模块组成的,你可以单独对每个模块进行编辑里面的内容或者删除。

2.3修改,也就是先点击Edit page 是页面处于可编辑状态,然后点击你要修改的模块右上方所呈现的那个Eit-editcontent,里面也就是对html的编辑了,不多说。
-----------------------------------以上对页面以及模块的更改都是在当前页进行操作的,如果你是管理员的话,管理员永远是老大,你可以在admin->page mangement对页面,以及各个模块进行批量编辑啦。(鄙人推荐这种)
二、接下来说一下黑框栏里的User吧

如字面意思,就是新增用户、管理用户、管理角色。当然这个模块是指对管理员可见的。
具体操作我就不多说了。关于角色,我想说一点就是如果你是要把网站做成多语言,那么后续你本地化的到时候,系统会自动生成各个语言的翻译角色的(后面我会专门说一下这个本地化的问题的)
三、Tools

工具栏里有三个按钮,一个是上传文件、清除网站缓存、回收程序池。功能我就不用说了,大家都懂得。
四、Host栏
这一栏的话,其实具体用起来的话,没有几个模块是你用得到的。
Host-Host setting还是有点用的。需要注意的就是有一个重启应用程序的键。

其他的自己研究研究就好了。
五、admin栏
admin也就是管理员以及超级账户或者由管理员角色的用户可以看到的了
1、admin-file management 不用多说啦,就是对你网站文件的管理啦,增删改,创建文件夹,whatever you want .

2、admin-page management 就是对页面以及其上的模块的管理。

左侧是页面列表,点击的话右边会显示出页面的信息。
直接右击页面名称,也可以直接对其更改的

需要注意的就是每个页面名称的小图标是代表不同含义的

从上往下依次是:
1网站首页
2页面对任何人可见
3只对注册用户可见
4对指定角色可见
5只对管理员可见
6页面不显示在菜单中
7页面不可用
3、admin -site setting
比较需要指出的就是设置网站网址的地方啦

还有就是对设置网站皮肤的地方


Site skin 是设置网站的皮肤。你如果没有花钱买的话,那就只能那个是默认的咯。或者你也可以自定义一套皮肤。
site container, 是网站上容器的皮肤,每个模块都是放在container里面的。
edit skin 就是编辑状态下网站的皮肤。
edit container 就是编辑状态下容器的皮肤。
4 admin-languages 这里才是我想说的地方。现在什么都要国际化了,网站也不例外。

我就讲解下如何添加新的语言以及如何实现本地化吧。其实也很简单的。
add new language.然后随便你选择你要的语言,之后你的语言就会出现在列表中。
Enabled 勾上表示该语言可用。
edit没什么讲的
Static resources便是修改资源文件的地方了。然后之后你就会发现海量的资源文件,如果你要找一个字段,那真的是超级难找,是不是很恶心,是不是很恶心?没关系的,还好还有别的方式,现在是不是有一种觉得世界好美好的赶脚。
DNN有个好处是可以自动本地化,如果你已经安装了你要的语言资源文件(每个字段都是尤其对应的资源文件的),那么你本地化完,你的页面内容就直接是native内容了。
它的结果就是会在每种语言下都创建相同数量的页面,也就是把你系统默认语言下的所有页面都copy。
如果你要开始本地化了,你要决定你的系统默认语言到底是什么,因为你一旦点了本地化,就不可以再更改了哦。下面就开始本地化吧。
首先找到Host->host setting->other settings ->allow content localization.勾上它

另外如果你host email 没填,那就在basic setting填一下吧

保存之后。。。。。。。。在找到admin->languages。请相信你的眼睛,右上角会出现一个button ----------enable localized content

点击Enable LocalizedContent

接着点击 Enable Lcalized Content

耐心等待就好了。
接下来选择其他语言你就可以看到你的网站呈现这样子了

这样就可以通过直接对页面进行本地化了。


对模块进行本地化的话,就直接编辑那个页面上的模块就可以咯。
开源框架DNN使用01的更多相关文章
- 开源框架DNN简介以及安装
donetnuke 是一款免费的开源cms框架,目前也有收费版,不过免费版也可以适应大家大部分的需求.我前些阵子是老板让我在20天内,做好一个官网并且发布,并且指定使用dnn这个框架,考虑到又可以学习 ...
- Pyhton开源框架(加强版)
info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/39057201),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...
- Android开源框架:Universal-Image-Loader解析(一)
之前花了一些时间,好好看了下这个框架,于是决定再重新梳理一下,把整个处理方法和流程过一遍,俗话说:温故而知新嘛 关于Universal-Image-Loader此框架的各种优点,稍微介绍下,网上应该也 ...
- Android开源框架ImageLoader的完美例子
本文转载于:http://blog.csdn.net/wwj_748/article/details/10079311 2013年8月19日开源框架之Universal_Image_Loader学习 ...
- Android(java)学习笔记214:开源框架的文件上传(只能使用Post)
1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Ap ...
- 2018年终总结之AI领域开源框架汇总
2018年终总结之AI领域开源框架汇总 [稍显活跃的第一季度] 2018.3.04——OpenAI公布 “后见之明经验复现(Hindsight Experience Reply, HER)”的开源算法 ...
- 数据库开源框架GreenDao的使用解析
数据库开源框架GreenDao的使用解析 1,GreenDao概述 1),greenDao是一个当下十分火热的数据库开源框架,或者说是一个帮助Android开发者将数据存到SQLite中的一个开源项目 ...
随机推荐
- JavaScript DOM编程基础精华03(动态设置,层的操作,性能问题)
代码是否需要放置到onload中 //如果js代码需要操作页面上的元素,则将该代码放到onload里面. //因为当页面加载完毕之后页面上才会有相关的元素 //如果js代码中没有操作 ...
- 机器人学 —— 轨迹规划(Introduction)
轨迹规划属于机器人学中的上层问题,其主要目标是计划机器人从A移动到B并避开所有障碍的路线. 1.轨迹计划的对象 轨迹规划的对象是map,机器人通过SLAM获得地map后,则可在地图中选定任意两点进行轨 ...
- OpenCV源码阅读(3)---matx.h---学习心得
在.h文件里定义类,可以通过内联函数的方法完成类基础函数的实现,这样就不需要额外写.cpp文件来写类的内容. 对于操作符重载,可以使用返回应用的方式减小内存开销 _Tp& someclass: ...
- CodeForces 489A (瞎搞) SwapSort
题意: 给n个整数(可能有重复),输出一个不超过n次交换的方案,使得经过这n次交换后,整个序列正好是非递减的. 分析: 首先说题解给的算法. 从左到右扫一遍,交换第i个数和它后面最小的那个数. 代码看 ...
- 页面多个Jquery版本共存的冲突问题,解决方法!
示例如下: <script type="text/javascript" src="jquery.js"></script> <s ...
- Raphael绘制圆圈环绕方法
$scope.toRadians = function (degrees) { return degrees * (Math.PI / 180); } $scope.toDegrees = funct ...
- busybox filesystem udhcpc 原理
/******************************************************************** * busybox filesystem udhcpc 原理 ...
- Android Dialog使用举例
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...
- erl0001-Erlang 设计原则 process port io
Erlang原理 (转载自ITEYE cryolite博客 ps:精彩)by Robert Virding This is a description of some of the basic pro ...
- FZU 1591 Coral的烦恼
Problem Description 程序设计课的老师给Coral布置了一道题:用T(n)表示所有能整除n的正整数之和,对于给定的数字n,记S(n)=T(1)+T(2)+…+ T(n).你的任务就是 ...