个人工具
名字空间
变换
操作

CMSware发布管理常见问题及技巧

来自站长百科
2010年5月27日 (四) 08:46Ahbaybface (讨论 | 贡献)的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到: 导航, 搜索

导航:返回上一页

目录

发布管理常见问题

  • 问题:发布的页面标题出现“ - powered by CMSware”, 是否购买后,就会消失?
答:试用版会在Title加上powered by的,正式商业授权以后就没了
  • 问题:添加文章后不能自动更新各级结点
答:从2.7版开始,自动级连更新功能要在系统设置选择,在索引内容较多后,这个功能严重影响更新发布的效率,所以内容较多的站点发布完文章后,请使用结点更新,主动更新从上到下的子结点首页和附加发布页;内容较少的可以选择自动更新
  • 问题:添加文章后发布失败
答:首先检查您的对应结点所选择的模版是不是有错误,其次检查内容发布的目录是否权限可写,再次请检查是否服务器磁盘空间不足
  • 问题:我在文章里要输入<br>,到底要怎么做,每次都是被当作代码格式化了,我要的是输入<br>,请问该怎么做
答:编辑器的源码状态下输入 <br>
  • 问题:通过编辑器上传图片老是失败
答:请检查cms的“resource” 目录的权限,将其设为可写。windows下请将权限设置为everyone可写,linux/unix下请将目录权限设置为777
  • 问题:调用js的时候,如果不清空缓存.调出的js就不会更新
说明:在publish/js.config.php中可以设置js的缓存有效时间,这是缓存机制实现的,默认是3600秒
  • 问题:前段时间我在后台的新闻结点下添加了好多新闻文档,现在我感觉网站的空间可能不太够用,就打算把以前的新闻文档给移除了,可是当我选中点击删除时,却显示:
Exception message: ftp_login(): 验证失败,抱歉
Error code: 2
-- Backtrace --
(): error.handler
/usr/vhome/c/e/s/lonmo.com/cms/cmsware/include/admin/psn_admin.class.php(218): ftp_login
/usr/vhome/c/e/s/lonmo.com/cms/cmsware/include/admin/psn_admin.class.php(185): psn_admin._ftp_connect
/usr/vhome/c/e/s/lonmo.com/cms/cmsware/include/admin/publishAdmin.class.php(778): psn_admin.connect
/usr/vhome/c/e/s/lonmo.com/cms/cmsware/include/admin/publishAdmin.class.php(732): publishadmin.clearpublisheditem
/usr/vhome/c/e/s/lonmo.com/cms/cmsware/include/admin/publishAdmin.class.php(312): publishadmin.unpublish
/usr/vhome/c/e/s/lonmo.com/cms/cmsware/admin/admin_publish.php(398): publishadmin.indexdel
FTP connection has failed!
Attempted to connect to ftp.lonmo.com:21 for user web163686.
please reset you FTP accounts correctly in your iWpC system setting.
可能原因:你用的ftp模式但ftp账号或者密码又有些问题或者是ftp服务有问题。您试试看用这个ftp账号能不能登录服务器
  • 问题:不支持gd,automini函数就不能用吗?用了之后图片显示不出来,地址变成这个样子了:
 http://www.lonmo.com/vod/
<br/><b>Exception%20message</b>:%20Function%20imagecreatefromjpeg()%20does%20not%20exits,%20please%20install%20JpEG%20Creation%20module%20for%20your
%20GD%20Library.
<br/><b>Error%20code</b>:%20512<br/>--%20Backtrace%20--<br/><i>():%20error.handler
<br/>/data/web/cms/include/image.class.php4.php(129):%20error.raiseerror
<br/>/data/web/cms/include/functions.php4.php(718):%20image.getimgsize
<br/>/data/web/cms/sysdata/templates_c/%%c_^@templates@nauzone@vod@index.htm(63):%20automini
<br/>/data/web/cms/include/lib/kTemplate/kTemplate.class.php(238):%20include
<br/>/data/web/cms/include/lib/kTemplate/kTemplate.class.php(276):%20ktemplate._fetch
<br/>/data/web/cms/include/admin/publishAdmin.class.php(1023):%20ktemplate.fetch
<br/>/data/web/cms/admin/admin_task.php(177):%20publishadmin.refreshindex
<br/></i>http://www.lonmo.com/vod/h000/h00/img200508251714040.jpg
解答:automini的原理是通过gd生成一张缩略图,区别于原图,而非简单的大小缩放。因而要求php必须支持GD库
  • 问题:下载结点发布以后出现如下报错:
Time: 2005-10-7 8:36am
Script:

SQL: Replace into ly_plugin_fulltext_search_2
(
`SoftName`,
`IndexID`,
`ContentID`,
`NodeID`,
`PublishDate`
)
Values
(
'1',
'2838',
'4',
'76',
'1128674126'
)
Error: Table 'cmsware.ly_plugin_fulltext_search_2' doesn't exist
Errno.: 1146

-- Backtrace --
E:\php\easyAMp\www\include\lib\kDB\lib\mysql.php(63): require
E:\php\easyAMp\www\include\lib\kDB\lib\mysql.php(54): mysql.halt
E:\php\easyAMp\www\include\lib\kDB\driver\db.php(30): mysql.query
E:\php\easyAMp\www\include\lib\kDB\kDB.php(44): db.query
E:\php\easyAMp\www\include\data.class.php(248): kdb.query
E:\php\easyAMp\www\plugins\FullTextSearch\include\data_sync\update.php(26): plugin.datareplace
E:\php\easyAMp\www\include\admin\plugin.class.php(51): include
E:\php\easyAMp\www\setting\Pager\default.php(351): plugin.update
E:\php\easyAMp\www\include\admin\publishAdmin.class.php(1338): include
E:\php\easyAMp\www\include\admin\publishAdmin.class.php(799): publishadmin.publishmakehtml
E:\php\easyAMp\www\admin\admin_publish.php(471): publishadmin.publish

Fatal error: Call to undefined function: phphighlite() in E:\php\easyAMp\www\include\data.class.php on line 255
解答:删除全文检索插件或者直接删除 ly_plugin_fulltext_search_2 这个全文检索表看看。

小知识汇总

  • 网站特别文章的建立
网站上常常会需要有些特别文章,比如法律声明、联系我们等等,或是有时候需要开一个一页的专题,这种时候,我们可以单独做一个结点,专门来放这类的文章,然后在这个结点下面新增加这些文章,但是在编辑文章时在发布设置里自定义发布文件名和位置,这样就可以把比如版权说明发布到根目录的copyright.html这样,看起来也很专业。比如,现在的关于我们的链接是http://lonmo.com/www/articles/h000/h00/112947410919.html ,用上述方法处理为 http://lonmo.com/about.html
  • 多结点共享一篇文章
右击一个标题,选择创建索引链接或者虚链接,然后选择一个结点,就可以建立一个指向了,那样可以一篇文章被多个结点共享,而不用重复复制,管理起来非常方便.
  • 给文章内容加上文本水印
以下方法可以给你的文章内容加上文本方式的水印效果, 在文本中有隐藏的水印文字,全选时就可以看到
方法:在模版中调用直接系统文本水印扩展函数
例子: 在文章页模版中给文章内容加水印
<div>[@TextWater('蓝慕公司www.lonmo.com版权所有', '#FFFFFF', $Content)]</div>

使用程序的“结点”制作广告功能

1、点击“模版管理”

2、在自己建立的模版目录里建立一个js目录(这么做的目的是因为可能因为一个网站上会有很多js调用,所以专门建立了一个js目录便于以后的管理)

3、点击“新建模版” ,在新建模版里写入

document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash
/swflash.cab#version=6,0,29,0" width="900" height="120">');
document.write(' <param name="movie" value="[$Photo]">');
document.write(' <param name="quality" value="high">');
document.write(' <embed src="[$Photo]" quality="high" pluginsPage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-
flash" width="900" height="120"></embed>');
document.write('</object>'); 

这里是默认作为插入FLASH文件,所以代码里是这么写,如果只是插入gif,就不用这么麻烦。

然后点击保存,将模版命名为“ads.js"

点击“站点管理”,新建一个结点,可以是子结点也可以是根结点,这个随便个人喜好了,

  1. “内容页模版”选择我们刚才建立的那个ads.js模版
  2. “静态内容发布分卷目录结构”选择“none”即可
  3. “静态内容发布文件格式”的后缀改为.js

然后就是进入“发布管理”里,在你添加的“广告管理”结点里添加文档

因为刚才建立的ads.js模版里只用了“[$Photo]”即“文章图片”这个代码,所以我们只要在文章图片里上传你要做为广告的FLASH即可

图片里调用的地址为"/ads/3.js", ads是我在网站根目录建立的一个目录,并在建立结点的时候把结点的“静态内容发布点(PSN)”指向到这个目录。用于以后专门存放广告,3.js是刚才添加的文档的ID号。

最后就是刷新首页,你就可以看到显示的效果了

这只是一个很简单的结点功能扩展,算是给初学者一点启发,至于如何计算广告点击率等方法,要涉及到其它函数的调用

同时更新所有静态文章页的公共头尾及列表问题

  • 客户提问:

问题是这样的,我新加一篇产品文章,想同时更新首页(1页),产品栏目首页(1页),产品内容页左侧的最新产品列表(几百页),几百个网页的列表同时更新,可以吗? 当然是在静态页发布的情况下。

我只看了以下产品介绍,简单看了一下模版语法,觉得这种模版语法要实现我说的功能好像不行,因为已经生成的产品静态页不好改了。

顺便问一下,静态页生成时,相关列表页是如何更新的?更新机制是什么?是只要新建一页,就会更新所有相关列表页吗?比如我上面提到的分布在所有网页的最新产品列表?

  • 解决方法:
一、夜间等访问量较低时端进行全站更新,这当然不用说了,静态嘛,也是最笨的方法
二、用js,js部分是动态的,可以实现这种方式,也有缓存,不会太慢
三、用服务器端包含shtml+inc机制,但前提是你的服务器支持inc机制,用一个结点发布所有的inc就行了,这种方法是最理想的也是效率最高的,可广泛用于所有页面的头尾,推荐列表等等

做在线电子期刊的思路

  • 客户提问:

每期都有一些文章,比如第6期、第7期、第8期,点进去就是当期的文章列表;

电子期刊默认显示最近一期内;

还有期刊是有栏目和子栏目的,点击栏目(或子栏目)时显示的是当期栏目的列表内容;

在每期电子期刊上显示“上一期”,“下一期”,如何实现呢?

  • 思路一:

建立两个内容模型!

1、期刊名称(Table3)

字段为:期刊号[$QiKanID],发布日期[publishData]等等......

内容列表如下,

<li>期刊第1期</li>
<li>期刊第2期</li>
<li>期刊第3期</li>
<li>期刊第4期</li>

2、期刊内容(Table4)

字段包括,所属期刊号(基于结点内容)[$CQiKanID],内容标题[$CTitle],内容[$CContent]等等...

模版中用嵌套的方法调用如下:

<CMS action="LIST" return="List" NodeID="期刊所属结点ID" Num="3" TableID="3"/>

<CMS action="SEARCH" return="List" NodeID="内容所属结点ID" Field="{$var.CQiKanID}" Keywords="{$var.QiKanID}" Num="3" Separator="," IgnoreContentID="
{$ContentID}" />
<loop name="List" var="var" key="key" >
<li><a href="[$var.URL]">[$var.Title]</a></li>
</loop>

</LOOP>

简单说明:面的方法用于实现最近3期的期刊,每期期刊中显示最新10条内容。建立两个内容模型主要的用途是可以不用重复录入。

比如:

每一期期刊中有20篇文章,这样的话你就要重复录入20此期刊号码!

两个内容模型,你就可以直接在后台进行选择,就不用在手工录入了,再有你现在用了内容模型的套用调用,如果用一个内容模型,可能调用就有难度了

  • 思路二:

如果都是从网站其它栏目而来,只是集中起来的话,那么一个模型就行了,用自定义相关文章集中起来就够了!在这个结点里一篇文章就是一个期刊


参考来源

留言