akcms折腾记
这几天闲着无聊,找cms折腾一下,先是搞了大名鼎鼎的dedecms,不过那繁琐真不是盖的,想修改个模板不知从哪里动手。虽然现在工作的后台也是由dedecms改过来的,但平时也就发发文章而已。
然后就找到了这个神器:AKCMS,非常轻量,但功能强大,作者更新勤快,还很贴心的写了manual。虽然免费版只提供内核,模板和设置都需要自己弄,但咱这不正找折腾吗,一下就喜欢上了。。
(其实在找到这个之前还看上了一个“羊驼!CMS”,没错就是这个名字,可惜无论是虚拟主机还是本地的xampp都没装上,只好放弃。。)
这里记录一下折腾中出现的问题和解决方法。
1、没有安装路径,直接自动安装在根目录。
akcms自动安装在上一级的目录,所以要想安装在子目录,需要将安装文件放在二层子目录中。
2、自定义前台地址和后台地址。设置了二级域名绑定子目录(cpanel有这个功能),但访问不成功。
这个还是跟安装有关,akcms自动安装在上一级目录,比如\aaa\akcms,则实际安装目录是\aaa,
因此前台地址是domain.XXX\aaa,后台地址是domain.XXX\aaa\akcms。
3、模板设置。
一般来说,第一次安装最少需要设置这几个主模板:
page_home.htm ------------对应首页
category_home.htm ---------对应栏目首页
category_list.htm ------------对应栏目列表(和上一个有什么区别尚不清楚)
item_page.htm --------------对应文章页面
以上都是akcms的默认名称,因此以后在相应设置时可以采用默认。
4、栏目设置。
默认栏目可以修改,最好不要删除,因为它的id是1,删掉再建就是id2了。。
栏目需要设置别名和目录,然后会在安装目录下面创建目录,如果没有设置目录就直接创建以id为名的目录。
5、发文章与文章页面模板的对应,目前虽然设置了模板但不能对应,点击相应的文章是空白页面。(模板里有html代码,但这个页面是完全的空白。)
唔,事实证明,item_page不是akcms的默认名称,因此需要在栏目的设置里,将内容也第一套模板指定为item_page.htm。改后正常。
6、在虚拟主机上建子模板header和footer,然后在主模板里引用,但<{include XXX}>函数无效。
在本机上出现一样的问题,换了模板证明include函数可用,再检查代码,发现双引号是中文的,给跪了,改成为英文后正常。
7、生成页面后,点击栏目进入栏目首页,发现css未加载。
原因是css使用了绝对路径,改用<{$home}>/style/……后正常。
8、添加内容页面太简陋,且没有作者、来源等选项。
在“系统-模块-内容”里设置。没有来源地址,可添加扩展字段,扩展字段需要排序值,否则保存不了。
9、文本编辑器太简陋,想换用fckeditor。
暂时解决方法:升级后台编辑器。
10、在模板里加入评论模块后,提交评论无反应,验证码也刷不出来。
需在后台“设置-用户设置”里开启相关功能。
11、用akcms实现专题。
想到有两种方法,一种是在栏目下建一个子栏目,专门放专题文章,这样通过调用栏目可以很方便的调用专题页面和专题文章。另一种是利用主题,这样一篇文章可以同时属于栏目和专题,较符合一般的CMS。
后决定采用主题,不过主题在akcms 4.x中是个未完成的功能。
12、无法调用主题列表和主题地址。
采用getsqls,直接读取数据库内容,教程见此。
ps:akcms 5.0后有getsections可调用主题相关内容。
13、无法调用当前时间。
采用在模板中嵌入php代码,再调用date()函数。
ps:akcms 5.0后有gettime可调用时间相关内容。
14、用getpaging调用分页发现奇怪的问题:参数传递不进template里,且分页地址不是后台自定义的,而是这里设置的template里的地址,而且这个地址里的变量无法变换,像我加了个参数[category],并且定义了值,但是最后分页url却还是[category]/index-2.html的形式。
搞定这个费了不少劲,仔细看了akcms的php代码才弄清楚。
现在明白这是akcms 4.2.9的一个bug,我看了下5.0的已经修复了这个bug。
bug的原因是getpaging函数使用了一个中间变量$baseurl,但这个变量与全局变量同名,结果给污染了,静态化的时候要使用这个变量,结果就产生错误了。
解决的方法只有修改源文件了,将include/getdata.func.php 里的getpaging里的nohtml下面的两处$baseurl改名,然后template里的url定为index-[page].html即可。
转载于:https://blog.51cto.com/pockry/1105521
相关文章:

VC++ OCX 控件注册
转自:http://www.cctry.com/thread-5334-1-1.html 方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例: regsvr32 netshare.ocx //注册netshare.ocx控件 regsvr32 /u netshare.ocx //解除netshare.ocx控件…

程序猿生存指南-4 借钱风波
借钱风波(10)临近春节,我的朋友圈被各个公司的年终奖刷屏。土豪互联网公司有送现金的,有送豪车的,还有送别墅的。它们享受着移动互联网的红利,赚得盆满钵满。不过翻看公司请媒体写的那些报道,就…

赛灵思:人工智能芯片发展方向与误区
演讲嘉宾 | 姚颂,赛灵思人工智能业务资深总监整理 | 夕颜人工智能发展过程中,算力是一个重要的因素,算力就像是 AI 的燃油,没有燃油,AI 哪也去不了。而为 AI 应用提供算力的,正是各种各样的芯片。而近几年&…

Python 多线程抓取网页 牛人 use raw socket implement http request great
Python 多线程抓取网页 - 糖拌咸鱼 - 博客园Python 多线程抓取网页最近,一直在做网络爬虫相关的东西。 看了一下开源C写的larbin爬虫,仔细阅读了里面的设计思想和一些关键技术的实现。1、larbin的URL去重用的很高效的bloom filter算法; 2、DN…

从特斯拉到英伟达,那些端到端自动驾驶研发系统有何不同?
作者 | 黄浴,奇点首席科学家兼总裁来源 | 转载自知乎专栏自动驾驶与视觉感知导读:近日,吴恩达的 Drive.ai 被苹果收购的消息给了自动驾驶领域一记警钟,但这个领域的进展和成果犹在。本文将介绍一些端到端的自动驾驶研发系统&#…

vc6中进行多行注释和反注释的方法
1、利用工具中自带的按钮实现: Tools-->Customize-->Add-ins and Macro Files-->将SAMPLE项选中-->Commands-->Category中选择Macros-->在Commands中将CommentOut拖到工具栏,再选中一个Images,点击OK即可。 这种方法是使…

一看就懂!【英雄联盟锐雯】与 Python 详解设计模式之门面模式
【网络配图】设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模…

无法挂载 NTFS格式的分区:mount: unknown filesystem type ‘ntfs’
问题: # mount –t ntfs /dev/sdb1 /mnt/usb mount: unknown filesystem type ‘ntfs’ 这是由于CentOS release 5.3(Final)上无法识别NTFS格式的分区。解决办法: 通过使用 ntfs-3g 来解决。 打开ntfs-3g的下载点http://w…

vs2008 ActiveX控件测试容器的生成以及调试ActiveX控件
1、ActiveX控件测试容器的生成:用TSTCON生成测试容器 http://msdn.microsoft.com/zh-cn/library/f9adb5t5(vvs.90).aspx 在搜索里搜索tstcon,双击TstCon文件夹,将此文件夹里的东西全部复制到另外一个新的空文件里,然后打开解决方案 tstcon.…

百度自动驾驶新突破:获首批T4牌照,升级Apollo 5.0,将进行复杂城市场景路测...
作者 | KYLE WIGGERS等编译 | 夕颜出品 | AI科技大本营(ID:rgznai100)最近,百度自动驾驶项目终于有了进展。先是上周悄然发布了 Apollo 的最新版本 Apollo 5.0,引入一些新功能;昨天下午,北京市自动驾驶测试…
折叠屏就要来了,适配逼死 Android 开发?
1. 异型屏还没适配好,折叠屏就要来了,Android 的碎片化,让开发者又多掉了不少头发。 北京时间 11 月 8 日,三星在旧金山向开发者发布了一款可折叠屏幕手机。并表示,新技术需要开发者调整其 App,以确保在手机…

nginx虚拟目录配置
2019独角兽企业重金招聘Python工程师标准>>> 今天搞了N久的虚拟目录配置,在几乎要放弃的时侯偶然看到一篇文章,将我的问题搞定 原贴地址:http://blog.sina.com.cn/s/blog_6c2e6f1f0100l92h.html 我的需求是这样的,系…

阿里达摩院刷新纪录,开放域问答成绩比肩人类水平,超微软、Facebook
出品 | AI科技大本营(ID:rgznai100)近日,由阿里巴巴达摩院语言技术实验室研发的 Multi-Doc Enriched BERT 模型在微软的 MS MARCO 数 据评测任务,Passage Retrieval Task(文档检索排序)和 Q&A Task&…

解决windows7下vs2008不能正常编译ActiveX控件的问题
在windows7系统中,vs2008环境下用MFC ActiveX Control生成的控件不能正常编译,但是在xp系统中却能正常编译,解决方法: 1、在windows7中编译,提示错误为:fatal error LNK1000: Internal error during IncrB…

什么是shell【TLCL】
常用命令 datecaldf——report file system disk space usagefree——display amount of free and used memory in the systemexit——退出终端Ctrl-Alt-F1 到 Ctrl-Alt-F6 访问后台终端会话,AltF7返回图形桌面转载于:https://www.cnblogs.com/songdechiu/p/9943599…

Linux终端的几个常用快捷方式,记下!
一、初识linux的终端种类:本地、远程 查看本终端命令: #tty 命令,看到当前所处的终端 #(w)who 命令,看到系统中所有登录的用户 其中,tty 终端为表示在本地命令行模式下打开…

从0到1 | 文本挖掘的传统与深度学习算法
一、什么是文本挖掘?讨论文本挖掘之前,我们要先说一下数据挖掘的概念,因为文本挖掘是数据挖掘的一个分支。数据挖掘(Data Mining)指从大量的数据中通过算法搜索隐藏在其中信息的过程。而文本挖掘就是从文本数据中获取有…

window7系统中64位安装matalbR2009b后出现乱码的解决方案
转自:http://blog.csdn.net/shaoguangleo/archive/2010/11/29/6042194.aspx MATLAB 中默认的字体是 Monospaced (即等宽字体),这是一种非常适合用于显示程序源代码的字体。但Monospaced 是种逻辑字体,它在不同语言和操…

【电路】pmic芯片设计细节
VIO_IN供电https://e2e.ti.com/support/power-management/f/196/t/712146?tisearche2e-sitesearch&keymatchtps65916 Note that every GPIO will be configured as an input for the first 6ms after VCC is supplied, which is the time it takes for the device to init…

sql server 的一些记录
下面记录一些用到sql server查询时候用到的函数。 charindex,在一个表达式中搜索另一个表达式并返回其起始位置(如果找到)。http://msdn.microsoft.com/zh-cn/library/ms186323.aspx CHARINDEX ( expressionToFind ,expressionToSearch [ , start_locati…

[WPF] UserControl vs CustomControl
原文:[WPF] UserControl vs CustomControl介绍 WPF中有两种控件:UserControl和CustomControl,但是这两者有什么区别呢?这篇博客中将介绍两者之间的区别,这样可以在项目中合理的使用它们。 UserControl 将多个WPF控件(例如…

50行Python代码,获取公众号全部文章
作者 | 胖虎转载自Python3X(ID: python3xxx )爬取公众号的方式常见的有两种:通过搜狗搜索去获取,缺点是只能获取最新的十条推送文章。通过微信公众号的素材管理,获取公众号文章。缺点是需要申请自己的公众号。今天介绍…

解决Windows7下vs2008 Active control test container 不能运行的问题
按照:http://blog.csdn.net/fengbingchun/archive/2011/05/05/6398356.aspx 在windows7系统中,vs2008环境下用MFC ActiveX Control生成的控件不能正常编译,但是在xp系统中却能正常编译,解决方法: 1、在windows7中编译…

入门必备 | 一文读懂神经架构搜索
作者 | Md Ashiqur Rahman编译 | 刘静转载自图灵TOPIA(ID: turingtopia)近期谷歌大脑团队发布了一项新研究:只靠神经网络架构搜索出的网络,不训练,不调参,就能直接执行任务。这样的网络叫做WANN,…

脚本化 tmux — LinuxTOY
脚本化 tmux — LinuxTOY脚本化 tmux2012-07-02 Toy Posted in TipsRSS昨天我在家试了下脚本化 tmux,其表现相当令人满意,只需稍加定制便可满足各种实际需要。这或许可以成为抛弃 GNU screen,改用 tmux 的又一个理由。该脚本先判断一个名为 c…

OpenCV像素点处理
转自:http://blog.csdn.net/hxgqh/archive/2011/02/23/6202001.aspx 获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGet2D()和cvSet2D()两个函数加上一个CvScalar结构体做到。OpenCV中,CvScalar结构为:typedef…

亲 , Zookeeper了解一下 : 概述
2019独角兽企业重金招聘Python工程师标准>>> 在学习的过程中,我们总需要一个来自灵魂的拷问: 为什么? 为什么会产生Zookeeper 这个问题有深度,那要从五百万年说起,在遥远的塞伯坦星球..... 扯远了... 在遥远在单机单服务的时代 , 想要扩展服务 , 只能增加硬件配置 …

wordpress jquery加载如何实现?
2019独角兽企业重金招聘Python工程师标准>>> 为什么写这篇文章? 因为之前在wordpress里面用jquery的时候没注意,这次因为要优化网站把没用的插件删了,结果发现有的jquery功能失效了,调试了许久才发现可能是jQuery没有定…

百度与华为重磅合作!李彦宏:技术是百度的信仰
导语:这是百度第三年举办AI开发者大会。一生二,二生三,三生万物。AI虽然不能产生万物,但是正在“唤醒万物”。 作者 | 阿司匹林 出品 | AI科技大本营(ID:rgznai100) 在今天上午举行的的百度AI开发者大…

已知空间一点到另外两点直线的距离
转自:http://www.cnblogs.com/clarkustb/archive/2008/11/04/1326500.html 已知空间一点到另外两点直线的距离设空间中的三点为M1,M2,M3,分别用矢量a,b表示方向向量M1M2和M1M3,则: 1. M3到M1,M2连线的距离为|axb|/|a|,这里|.|表示向量的…