织梦DEDECMS文档保存位置及命名规则优化

在用dede建站的朋友都知道,优化文档路径,越短越好,相信很多都知道如何去修改,也有许多文章可供参考。

今天清晨在这里补充一些。

为了减少以后的麻烦,建议把文档单独保存在一个文件夹内,而不是保存在文档栏目下。

例如:文档ID为1的文档

可以有两种形式

1.http://www.xxxxx.com/mulu/1.html

2.http://www.xxxxx.com/html/1.html

其中mulu是文档的栏目文件夹。

如果以后移动此文档,就会更改路径,对SEO是有很大影响的。

所以建议用2的形式,文档单独保存在一个文件夹下。

如何实现呢?

现在开讲。

有很多种方式,网上也有很多教程,我讲的是我使用的方法。

修改:common.inc.php

找到文档的默认命名规则这一处

改成以下形式

//文档的默认命名规则
$cfg_arcdir=str_replace("/", "",$cfg_arcdir);//这里去除文档HTML默认保存路径:中出现的“/”,防止出错
$art_shortname = $cfg_df_ext = '.html';
$cfg_df_namerule = $cfg_arcdir.'/{aid}'.$cfg_df_ext;//这里调用上面的路径,方便管理。

说明:其中$cfg_arcdir是后台可以直接设置的,如图:

这种方法的优势是,如果以后想更改路径就直接在后台修改,不用再次更改代码,比较方便。

当然,快速创建栏目处也要修改的,按以上的思路即可实现。

快速创建栏目参考代码:

<input name="namerule" type="text" id="namerule" value="<?php echo str_replace("/", "",$cfg_arcdir); ?>/{aid}/index.html" size="40" />

仿Hao123 网址导航wordpress主题版本:V15.09.16 最终版

主题发布页请移步:http://blog.menglei.net/sitenav/

2015.09.16主题更新:

下载地址

影子互联网址导航150916.zip

https://wdjacms.pipipan.com/fs/16922972-240100568

如果失效请加交流QQ群 122019913 , 在群共享下载

 

使用方法:
1.后台上传安装,或ftp上传。
2.调用主题。
3.添加链接分组,输入组字母别名.
4.添加链接。
5.为每一个分组添加一个对应的页面:
5.1 新建页面,
5.2 标题为链接分组名称,
5.3 内容中输入链接分组ID,
5.4 模板选择[更多链接],
5.5 点击发布,
5.6 修改固定链接,点击编辑,修改成链接分组的别名,再点击发布。
5.7 复制以上步骤,为每个链接分组添加对应的页面。
6.在外观-小工具中添加
6.1 天气预报,请添加文本小工具,输入天气预报代码,请自行网上搜索,需添加透明背景的代码。
6.2 搜索代码,请添加文本小工具,输入搜索代码,请自行去搜索引擎官方查找,百度的代码在站长平台可以查找到。
6.3 左侧网址区上部,自行查看说明。
6.4 左侧网址区下部,自行查看说明。
6.5 主体网址区,请添加链接列表小工具,标题处请填写选择的链接分类标题,以方便查看,链接数默认为8,请不要超过此数。
6.6 底部网址区,添加链接小工具。
6.7 底部版权区,添加文本小工具,自行输入代码,调整代码。
6.8 三个广告代码,请自行添加,注意尺寸要求,详看说明。
7.名站导航为调用菜单,请在后台自行添加。

8.原主题集成方法:
8.1 上传daohang.php,links_more.php文件和CSS文件夹到主题根目录

8.2 打开functions.php文件复制以下代码:
<?php
add_filter( 'pre_option_link_manager_enabled', '__return_true' );
//原主题集成请复制本段代码//清晨导航主题
if ( STYLESHEETPATH == TEMPLATEPATH ) {
define('OF_FILEPATH', TEMPLATEPATH);
} else {
define('OF_FILEPATH', STYLESHEETPATH);
}
require_once(OF_FILEPATH.'/css/menus.php');
require_once(OF_FILEPATH.'/css/widget/widgets.php');
require_once(OF_FILEPATH.'/css/widget/links.php');
?>

8.3 打开原主题functions.php文件,在最顶部粘贴上面复制的代码。
8.4 后台新建页面,模板选择[网址导航],保存即可
8.5 打开8.4中创建的页面,即是所需集成的导航页面效果。

9.如需付费集成到原主题,50元/次,联系QQ 925474725

清晨博客集成效果:
http://blog.menglei.net/hao123/

独立站安装效果:

http://www.1010.org.cn/

本主题,仅使用链接,页面,小工具和菜单即可实现。
因实用性问题,链接分组页面,未做分布处理,发单页面形式展现,请知悉。
升级说明:

//2015.09.15
**清除天气代码,仅保留百度搜索代码,不再添加其余无关代码
**清除各区域边框,以浅色背景作区分
**修改各区域标题样式
**自适应屏幕,手机下可以自动适应了。
**自适应屏幕时,隐藏搜索和主体区左侧边栏内容
**其它细节更新。

//2015.07.24

**顶部添加天气代码,需自行在后台添加文本小工具,输入代码。
**修复百度搜索框居中,需自行在后台添加文本小工具,输入代码。
**集成链接列表小工具,可以在链接主体区域添加,会在列表最后显示更多,点击可以查看更多。
**添加更多链接模板,在页面添加对应链接分类页面时,模板设置为更多链接即可。
**css代码优化,自适应屏幕宽度,不是很完美,以后版本会完善。
**添加两处广告,需自行在后台添加文本小工具,输入代码。

 

*****************************************************

一直从事网络推广工作,经常会遇到一些不错的网站,不方便记下来,所以想做个导航站,自己使用。

在尝试了114导航后,感觉复杂了,不适合我的要求,所以自己查找了下WP主题,发现没有这样的主题,有遇到过一个淘宝客主题,也不适合我。

无奈的情况下,自己尝试制作了本主题。

暂时称为:仿Hao123 网址导航wordpress主题

版本:V12.11.25

演示:http://blog.menglei.net/hao123/

此为后台新建页面,如果设置成首页,即可实现导航站形式。

首发下载:http://download.csdn.net/detail/imenglei/4810212

简单的仿了下,没怎么进行美化,胜在简单,这才是我本意。

说下功能:

1.清爽简单,估计没有比这个更简单的了。

2.代码简单,仅使用菜单和小工具功能实现

3.无任何插件需要

4.仅单页导航功能,这个是优点也是缺点。

5.可集成到现有主题,完美兼容任何WP主题。

6.解决WP无网址导航功能主题的问题(仿导航网站主题)

7.可进行二次开发,实现更多功能。

8.没了哈。

注意事项:

本主题兼容问题,因采用简单的单页形式,所以直接从hao123导航站扒皮而来,未进行过多的修改,有些新问题,可自行修改,都是css错位问题,这个不是很高深的事情,所以可以自行解决。

交流QQ:925474725

wordpress lovnvns主题 本站正在使用主题

lovnvns主题 说明:

来源互联网,有多处可以下载到,作者未知。

如果作者看到此文,可以联系我,以正此主题之名。

最新版本4.0

整体感觉很不错的主题,首页有blog和CMS两种形式可供选择。

blog形式就是文章列表形式,CMS有按分类进行文章调用的排版。

本站暂时使用blog形式。

这个主题感觉还不错,所以拿来使用。

主题全站采用一种绿色的形式,可以自行修改配色,也可二次开发,进行多种颜色调换。本站因是个人博客,暂时不考虑进行修改了。

配合本人自己制作的hao123导航主题(集成到本主题了)使用,可以做个不错的个人站,这是我的选择。

关于lovnvns主题,要注意一些事情。

1.在后台,设置 阅读  首页文章数,要记得选择10

不然在分页时,会出现后几页是空的,错误现象。

2.关于幻灯片调用,

在添加文章时,要记得在写文章时

添加自定义栏目,名称:banner 值:on

这样首页幻灯片就会显示这篇文章的特色图片

3.我使用的文章页复制链接功能无效

可能是浏览器兼容问题吧,暂时没折腾,删除了此功能。

4.其它的问题,

像导航,可以自行修改宽度,就可以显示多几个分类了。

底部链接调用,是用链接分类ID调用的,默认是1.可以自行在代码处修改。

评论关闭问题

如果是新换主题,之前有发表过文章,现有不论在后台如何设置,都是评论关闭状态,这个你可以检查文章,选择编辑,在讨论功能面板里有,允许评论,勾选保存就可以了。

本站不提供下载本主题,请自行问度娘或谷哥。

交流QQ925474725

用插件解决WP建站的文章ID不连续的问题

由于WordPress默认是每60秒就会对文章进行自动保存,在我们写文章时,会自动生成许多草稿,在修改时,也会自动生成修订版本,这些每保存一次都会占用一ID,所以会出现文章ID不连续的问题。

解决这个问题,我们可以关闭版本修订和自动保存功能,即可实现。

下面是最简单的方法,用插件解决。

插件:Super Switch

安装很简单
1、上传插件文件夹 super-switch 到 /wp-content/plugins/ 目录。
2、在插件管理页面激活这个插件。
3、安装完成。

使用这个插件,你可以禁用以下功能(打勾的话,表示该功能启用,即"禁止版本修订"...等功能):

版本修订(Enable Revisions. )
自动保存(Enable autosave. )
主题预览(Enable themes preview. )
不在页面显示WordPress版本(Don’t display the version of WP in the head of your blog. )
Browse Happy(Enable Browse Happy. )
插件升级检查(Enable the update of the plugins. )
WP核心升级检查( Enable the WordPress core update checking and notification system. )

------------分隔线---------------
后续说明:20130511
针对wordpress以ID形式显示文章,出现ID不连续的问题。
这个是无法解决的。
因为wordpress本身ID是几个数据共用的,
在查看数据表中可以清楚的看到,因为文章,文章分类,菜单,链接分类,链接等都是存储在一个表上的。
如果你添加文章之外的其它内容(占用ID的),就会造成文章ID不连续的问题。
这个目前无法解决。
各位同学请不要再纠结这个问题了。

Super Switch这个插件,是可以解决部分问题,可以禁止生成修订版本,禁止自动保存,只能解决部分问题,不能从根本上解决的。请知悉。

CSS让文字、图片及input单行水平对齐的简单方法

CSS单行图文水平垂直对齐方法:

CSS样式:
div img,div input{ vertical-align:middle}

HTML代码:
<div>
<label>姓名:</label><input typt="text" /><img src="xxx.jpg" width=50 height=20 alt="验证码" />
</div>

<div>
<img src="xxx.jpg" alt="注册" /> <a href="#">取回密码"</a>
</div>

这时只要我们给图片加上垂直对齐的属性,后面的文字连接会相应的与图片水平对齐,即: img{     vertical-align:middle;}。当垂直对齐属性为“top“的时候,文字链与图片顶部水平对齐,如次类推。

如果是input与文字链放在一起,在ff和ie7、ie8中文字链都与图片顶部水平对齐,但是在ie6中却是底部对齐,同样我们可以给input添加垂直对齐属性来达到各个浏览器显示效果

解决wordpress首页调用多篇文章显示日期问题

在用wordpress建站时,遇到个很奇怪的问题

在首页文章列表,调用多篇文章时,不能同时显示发布日期,只能调出来一篇文章的发布日期,感觉很奇怪,经过网上查找,总结出下面的方法很合适解决这一问题。

方法如下。

调用:

<?php the_date_x(); ?>

函数:

//the_date_x()同时显示多篇在同一日期发表的文章
function the_date_x($d='', $before='', $after='', $echo = true) {
        global $id, $post, $day, $previousday, $newday;
        $the_date = '';
        $the_date .= $before;
        if ( $d=='' )
                $the_date .= mysql2date(get_option('date_format'), $post->post_date);
        else
                $the_date .= mysql2date($d, $post->post_date);
        $the_date .= $after;
        $previousday = $day;

        $the_date = apply_filters('the_date', $the_date, $d, $before, $after);
        if ( $echo )
                echo $the_date;
        else
                return $the_date;
}

交流QQ925474725  QQ群:122019913

by清晨20121112

WordPress自定义文章摘要显示和长度

WordPress 摘要有两种显示方式:
一种是通过写文章的时候在其中加入标签,然后在模板中使用the_conten(“阅读更多…”),这个函数将会读出你的post直到<!—more–>处断掉输出。缺点:需要在每篇文章中加入<!—more–>标签;
另外一种方法就是在模板中直接利用the_excerpt()函数,这个函数将会自动取出你文章的部分内容,并且以本文的格式输出。缺点:文字都堆积在一起,阅读性差。
下面教大家如何自定义文章摘要显示和长度,解决以上问题。

  1. function the_blog_excerpt($content, $size = 500, $echo = true) {
  2. $out = '';
  3. $_size = mb_strlen($content, 'utf-8');
  4. if ($_size <= $size) {
  5. $out = $content;
  6. } else if (strpos($content, '<') === false) {
  7. $out = mb_substr($content, 0, $size);
  8. } else if ($e = strpos($content, '<!-- more -->')) {
  9. $out = mb_substr($content, 0, $e);
  10. } else {
  11. $strlen_var = strlen($content);
  12. $html_tag = 0;
  13. $summary_string = '';
  14. $html_array = array('left' => array(), 'right' => array());
  15. for ($i = 0; $i < $strlen_var; ++$i) {
  16. if (!$size) {
  17. break;
  18. }
  19. $current_var = substr($content, $i, 1);
  20. if ($current_var == '<') {
  21. $html_tag = 1;
  22. $html_array_str = '';
  23. } else if ($html_tag == 1) {
  24. if ($current_var == '>') {
  25. $html_array_str = trim($html_array_str);
  26. if (substr($html_array_str, -1) != '/') {
  27. $f = substr($html_array_str, 0, 1);
  28. if ($f == '/') {
  29. $html_array['right'][] = str_replace('/', '', $html_array_str);
  30. } else if ($f != '?') {
  31. if (strpos($html_array_str, ' ') !== false) {
  32. $html_array['left'][] = strtolower(current(explode(' ', $html_array_str, 2)));
  33. } else {
  34. $html_array['left'][] = strtolower($html_array_str);
  35. }
  36. }
  37. }
  38. $html_array_str = '';
  39. $html_tag = 0;
  40. } else {
  41. $html_array_str .= $current_var;
  42. }
  43. } else {
  44. --$size;
  45. }
  46. $ord_var_c = ord($content {$i});
  47. switch (true) {
  48. case(($ord_var_c & 0xE0) == 0xC0) : $summary_string .= substr($content, $i, 2);
  49. $i += 1;
  50. break;
  51. case (($ord_var_c & 0xF0) == 0xE0) : $summary_string .= substr($content, $i, 3);
  52. $i += 2;
  53. break;
  54. case (($ord_var_c & 0xF8) == 0xF0) : $summary_string .= substr($content, $i, 4);
  55. $i += 3;
  56. break;
  57. case (($ord_var_c & 0xFC) == 0xF8) : $summary_string .= substr($content, $i, 5);
  58. $i += 4;
  59. break;
  60. case (($ord_var_c & 0xFE) == 0xFC) : $summary_string .= substr($content, $i, 6);
  61. $i += 5;
  62. break;
  63. default:
  64. $summary_string .= $current_var;
  65. }
  66. }
  67. if ($html_array['left']) {
  68. $html_array['left'] = array_reverse($html_array['left']);
  69. foreach($html_array['left'] as $index => $tag) {
  70. $key = array_search($tag, $html_array['right']);
  71. if ($key !== false) {
  72. unset($html_array['right'][$key]);
  73. } else {
  74. if (strpos(substr($content, $i), '</'.$tag.'>') === false) {
  75. $summary_string .= '</'.$tag.'>';
  76. } else {
  77. while ($html_array_str != $tag) {
  78. $current_var = substr($content, $i, 1);
  79. $i++;
  80. if ($current_var == '<') {
  81. $html_tag = 1;
  82. $html_array_str = '';
  83. } else if ($html_tag == 1) {
  84. if ($current_var == '>') {
  85. $html_array_str = '';
  86. $html_tag = 0;
  87. } else {
  88. $html_array_str .= $current_var;
  89. $f = substr($html_array_str, 0, 1);
  90. if ($f == '/') {
  91. $html_array_str = str_replace('/', '', $html_array_str);
  92. }
  93. }
  94. }
  95. $summary_string .= $current_var;
  96. if ($html_array_str == $tag) {
  97. $summary_string .= '>';
  98. $i = $i + 1;
  99. break;
  100. }
  101. }
  102. }
  103. }
  104. }
  105. }
  106. $out = $summary_string;
  107. }
  108. if ($echo) echo $out;
  109. return $out;
  110. }

该函数自动提前文章内容前500字符作为摘要,保留html格式并修复被切断的HTML标签。具体可以在我的博客查看效果。

$size:自定义显示长度

复制该函数到主题的functions.php文件中。

  1. <?php
  2. if (is_single() or is_page()) {
  3. the_content();
  4. } else {
  5. $content = get_the_content();
  6. $content = apply_filters('the_content', $content);
  7. $content = str_replace(']]>', ']]>', $content);
  8. the_blog_excerpt($content);
  9. }
  10. ?>

在需要显示摘要的地方调用以上代码即可。

 

来源:http://www.hujuntao.com/archives/wordpress-custom-the-excerpt.html

ASP网站开发中rs.open sql,conn,1,1/1,3/3,2区别

来源网络。

Rs.Open语法如下:rs.Open Source,ActiveConnection,CursorType,LockType Source为sql语句,ActiveConnection为数据库连接,CursorType是游标,LockType是数据锁定类型.
经常开发asp但对于细致的说法,真实不太清楚,这里简单的介绍下。
一般情况下
读取数据都是用rs.open sql,conn,1,1
修改数据:rs.open sql,conn,1,3
删除数据:直接要conn.execute("delete * from new where id=1")这样的。
Rs.Open语法如下:rs.Open Source,ActiveConnection,CursorType,LockType
Source为sql语句,ActiveConnection为数据库连接,CursorType是游标,LockType是数据锁定类型.
CursorType
常量 说明
adOpenForwardOnly(值为0) (默认值)打开仅向前类型游标。
adOpenKeyset(值为1) 打开键集类型游标。
adOpenDynamic(值为2) 打开动态类型游标。
adOpenStatic(值为3) 打开静态类型游标。
LockType
常量 说明
adLockReadOnly (值为1) (默认值)只读 — 不能改变数据。
adLockPessimistic(值为2) 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录来完成。
adLockOptimistic(值为3) 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用 Update 方法时才锁定记录。
adLockBatchOptimistic(值为4) 开放式批更新 — 用于批更新模式(与立即更新模式相对)。
CursorType
0 仅向前游标,只能向前浏览记录,不支持分页、Recordset、BookMark
1 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
2 动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。
3 静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
LockType
LockType为记录集的锁定类型,其取值为:
1 锁定类型,默认的,只读,不能作任何修改
2 当编辑时立即锁定记录,最安全的方式
3 只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
4 当编辑时记录不会被锁定,而更改、插入和删
rs.open sql,conn,3,2
这两个是游标,具体的作用是:
RS.OPEN SQL,CONN,A,B
A:
ADOPENFORWARDONLY(=0)
只读,且当前数据记录只能向下移动
ADOPENKEYSET(=1)
只读,当前数据记录可自由移动
ADOPENDYNAMIC(=2)
可读写,当前数据记录可自由移动
ADOPENSTATIC(=3)
可读写,当前数据记录可自由移动,可看到新增记录
B:
ADLOCKREADONLY(=1)
缺省锁定类型,记录集是只读的,不能修改记录
ADLOCKPESSIMISTIC(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。
ADLOCKOPTIMISTIC(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。
ADLOCKBATCHOPTIMISTIC(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。
当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。
总结一下:
sql,conn,1,1 代表不允许更新,一般用于查询操作。
sql,conn,1,3 代表允许更新,一般用于插入,更新和删除操作。

CSS 跨浏览器透明 border

在先进的浏览器中,让一个元素的 border 变为透明,只需要把 border 的颜色改为 transparent ,例如:

#id {

border-right: #0F0 solid 400px;

border-bottom: transparent solid 400px;

}

上面的代码就可以生成一个直角等腰三角形,但在 IE6和7 中,你需要这样写:

#id {

width: 400px;

height: 400px;

width:0;

height:0;

border-right: #0F0 solid 400px;

border-bottom-style: dashed;

}

来源:http://www.codecto.com/2010/10/cross-browser-transparent-border/