dedecms怎么修改css
方法和详细的操作步骤如下:
1、第一步,打开织梦Dedecms的主界面,直接找到“增加顶级栏目”选项并选择跳转,见下图,转到下面的步骤。
2、第二步,执行完上面的操作之后,进入新对话框,根据实际情况进行设置,见下图,转到下面的步骤。
3、第三步,执行完上面的操作之后,请单击“确定”按钮,见下图,转到下面的步骤。
4、第四步,执行完上面的操作之后,可以调用当前栏目的文章列表,见下图。这样,就解决了这个问题了。
你好,根据你提的问题找到相关的解决方法,你可以参考一下
第一种:根据所在栏目ID自动判断显示所在栏目的文章数
(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)第二种:指定栏目ID
{dede:sql sql="SELECT count( ID ) AS c FROM dede_archives where typeid = 栏目id "}第三种:DedeCMS栏目文章数量统计调用,栏目名称按照文章数量排列
{dede:sql sql='SELECT dtypename,did,count(daid) as heji FROM dede_arctype d left joindede_archives da on datypeid=did where dreid=0 group by dtypename order by heji desc limit 0,8;'}
<span class="text_1"><span class="count">[[field:heji/]篇]</span>
<a href="http://你的网址/plus/listphptid=[field:id/]">[field:typename/]共投递稿件</a></span><br />
{/dede:sql}
第四种: 修改include/commonfuncphp 在最后加入代码:
//统计栏目文章数function GetTotalArc($tid) {
global $dsql;
$sql = GetSonIds($tid);
$row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})");
return $row['dd']; }
在htm 最下方添加:
{dede:channel type='top' row='8'}
<LI>[field:typename/]
(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)
</LI>
{/dede:channel}
如果想调用副栏目的数量 就是
//统计栏目文章数
function GetTotalArc($tid2){
global $dsql;
$sql = GetSonIds($tid2);
$row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid2 in({$sql})");
return $row['dd']; }
HTM页面不变 现在我们来说说动态调用栏目文章数:
动态调用主要针对当前列表页的栏目,而当前的栏目是动态的,因此可以利用type标签调用一个函数就行了。
要调用函数就得增加函数,打开include/commonfuncphp,在其中任一行(<与>的中间任一行)中加上如下函数。
function dynamic_num($current_id){global $dsql; $t_num = $dsql->GetOne("select count() as num from `dede_archives` where typeid='$current_id'");
if(is_array($t_num))
{
return "本栏目共有"$t_num[num]"篇文章"; }
else{
return "本栏目共有0篇文章" ; }
}
在列表页中这样调用:
{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}{dede:sql sql="SELECT count( ) AS c FROM cmsxx_archives WHERE pubdate > UNIX_TIMESTAMP( CURDATE( ) ) "}
<li class="count">今日更新:<span>[field:c/]</span> 篇</li>
{/dede:sql}
{dede:sql sql="Select count(ID) as c From cmsxx_archives WHERE FROM_UNIXTIME(pubdate,'%m')=month(curdate())"}
<li class="count">当月更新:<span>[field:c/]</span> 篇</li>
{/dede:sql}
{dede:sql sql="select count() as c from cmsxx_archives}
<li class="count">共有文章:<span>[field:c/]</span> 篇</li>
{/dede:sql}
{dede:sql sql="select sum(click) as c from cmsxx_archives"}
<li class="count">总共阅读:<span>[field:c/]</span> 人次</li>
{/dede:sql}
{dede:sql sql="select count(mid) as c from cmsxx_member "}
<li class="count">共有会员:<span>[field:c/]</span> 名</li>
{/dede:sql}
还可以指定栏目ID,例如:
{dede:sql sql="select count() as c from cmsxx_archives where channel in(1,2,3,5,6,9)"}<li class="count">共有文章:<span>[field:c/]</span> 篇</li>
{/dede:sql}
希望以上方法能够帮助到你。
织梦DedeCMS修改模板默认CSS文件分析:首先,打开后台——模板——默认模板管理——indexhtm
看到有一句,<link href="{dede:globalcfg_templeturl/}/style/dedecmscss" rel="stylesheet" media="screen" type="text/css" />说明,我们模板是根据这个CSS来布局网页的,于是我们就打开网站目录下面的templetsstylededecmscss然后来分析一下CSS的构成。
我们根据主页的调用,来研究CSS这样容易理解。我们打开主页模板,找到:
<div class="w960 center clear mt1">/这句是控制除了网站头部和友情链接的所有结构样式/
那么 w960 center clear mt1 都定义了什么呢?我们打开DEDECMSCSS 找打相关的定义。
/---------- stock ---------/
center{
margin:0px auto; 定义了CSS模块的边缘位置都是0,也就是这个center的层 距离上右下左都是0px;
}
w960{
width:960px; 定义了整体的宽度为960px;
/position:relative;/
}
pright infos_userinfo {
margin-bottom: 0px; 定义了首页右部下的 互动中心的下面边缘为0px;
}
mt1{/ ( margin-top 1 ) /
margin-top:8px; 定义了mt1的顶部边缘为8px;
}
pright mt1{
margin-top:0px; 定义了pright 下面的mt1顶部边缘为0px;
}
mt2{/ ( margin-top 2 ) /
margin-top:16px; 顶部边缘为16px;
}
clear{
overflow:hidden; 如果clear层里面的内容超出了 层的范围 就隐藏起来。
}
<div class="pleft">这个pleft 的定义 没有在dedecmscss 中,但是我们会发现一句话
@import url("layoutcss");
@import url("pagecss");
这说明,在dedecmscss 中引用了 pagecss 和layoutcss 这两个样式表,于是我们就在pagecss 中找到了pleft 的定义
pleft{
width:712px;定义了宽度
float:left;该层向左浮动
overflow:hidden;超出范围则隐藏
}
<div class="bignews">
在该层下面调用的是新闻头条的内容,看看它的css
index bignews{
width:424px;
height:400px;
float:right; 向右浮动
border:1px solid #DFF2F5;表示边框线用 #dff2f5的实体颜色填充
background:url(/images/headbg-topgif) repeat-x;背景为 headbg-topgif 并且横向平铺
overflow:hidden;超出则隐藏。
}
所以,我们看到头条的这部分是在flash幻灯片右边显示,并且加上了浅蓝色的边框线。
<!--头条-->
<div class="onenews"> 再来看看 onenews是如何定义的。
index bignews onenews{
margin:0 3px 0 3px; 左右外边距分别空3个像素
padding:7px 6px;上左内边距分别空7,6个像素
border-bottom:1px dashed #EBEBEB;下边框加一个 #ebebeb的虚线
}
所以我们看见头条的文章左右都有一定的距离,并且下面还有一个虚线显示
</div>
<!-- /onenews -->
这个下面调用的是以往的头条,默认的有4篇文章,调用了d1 d1arc 2个css
index bignews divd1{
padding:6px 10px;
clear:both;这句话是清除浮动,如果不加它,大家可以试试看,是不是 d1 这个层就跑到 头条的右边了。
width:406px;
overflow:hidden;
}
index bignews divd1arc{
margin-right:12px;
width:190px;
float:left;因为此时要调用4篇文章,改文章是22排列的,如果不加这个属性,新闻就应该垂直排列了(因为你刚才用clear:both 清除浮动啦),大家试试看是不是这样的。
height:24px;
line-height:24px;行间距,即字体最底端与字体内部顶端之间的距离
overflow:hidden;
}
<!--/头条-->
<div class='newarticle'>最新文章</div>
下面看看 newarticle 这个css吧,还是拿快学网的首页举例子,上面的这句是用来显示 “最近更新”那几个绿颜色字的,看看它是怎么定义的。
index bignews divnewarticle{
height:24px; 高度
background:url(/images/new-articlegif) 8px 3px no-repeat;背景在x轴8px 和y轴3px出出现
font-size:0px;
color:#fff;
} 所以,我们能看到那个 最近更新 并且还有一个横条,其实它是个,大家右键另存为看看就知道了
<ul class="c2 ico1">
这里面调用了 c2 和ico1 两个 css
index bignews ulc2{
width:416px;
padding:0px 4px 0px; 内边距为 上0 右4下0
clear:both;清除浮动 和上面的意思一样
overflow:hidden;
}
ico1 这个css 在layoutcss 中了。
ico1 li{
padding-left:16px; 指的是 新闻列表左内边距为16px
background:url(/images/ico-1gif) 7px 11px no-repeat; 背景在7px,11px 处出现,所以我们看到最新文章的列表左边都有一个小黑点,这个小黑点就是 ico-1gif
}
</ul>
</div>
<!-- /bignews --> 到此,中部的头条新闻和最近更新已经分析完了。
<div class="flashnews">
看看flash的 css 定义
index flashnews{
width:280px;
height:192px;
overflow:hidden;
float:left;这句决定了,flash 的新闻列表在 头条的左边显示。如果你把bignews 和flashnews 的float 属性互换一下应该是上面结果呢?大家试试看。
}
</div>
<!-- /flashnews -->
<div class="latestnews">这边是特别推荐调用的样式,还是来看看css
index latestnews{
width:280px;
height:200px;
margin-top:8px;
float:left;
}
index latestnews dl dd{
padding:2px 5px;
}
index latestnews ul a{
color:#555;
}
我觉得你这个问题有点BC
第一,如果你的文章是手动添加而不是采集的话,你在发表文章的时候可以顺便添加一个“推荐”(flag='c')的属性,然后在“系统”——“系统基本参数”——“性能选项 ”里面这们设置:(如图)
然后你在调用文章{dede:arclist:typeid='1' row='10' (等等)}的时候加上这个 flag='c', 这样做的效果是,你一发表完文章了,系统就会马上自动更新所有相关的栏目和内容页,这样就达到了“动态更新”的效果了,没必要另外去搞……
第二,如果你的是搞论坛或者社区之类的,那没就必要用织梦了。还不如用Dicuz!或者其它的专门做论坛用的CMS了……
{dede:fieldclick/}只能在文章页调用,且是静态数值,手动更新文章这个阅读数才会更新。
列表页动态更新阅读数调用:
<script src="/plus/countphpview=yes&aid=[field:id/]&mid=1" type='text/javascript' language="javascript"></script>
列表页调用文章关键词:
[field:id runphp=yes]
global $dsql;
$tags = '';
$query = "SELECT keywords FROM `dede_archives` WHERE id='@me' ";
$dsql->Execute('keywords',$query);
while($row = $dsql->GetArray('keywords'))
{
$keywords1=$row['keywords'];
}
@me=$keywords1;
[/field:id]
为什么要分享?因为织梦的一些技术问题,在织梦官网论坛很难找到解决方法,论坛提问一般无人回答,下面遇到的有些问题我自己都花费了很长时间才解决。
特别提醒:优化要适度,自然,以提高用户体验为主。
以下经验和技巧,有些为本人修改,有些网上收集,全部放在这里集中,有需要的可以直接全部拿去,也欢迎网友完善。
1、随机文章:好处就在于能够保证文章有新鲜内容,但前提是你必须要有一定文章数量,50篇以下的就不要用了,请将换成你的域名。
调用代码:
复制代码
代码如下:
{dede:arclist titlelen=30 orderby=rand row=8 typeid=rand}
lia href=""/a/li
{/dede:arclist}
2、翻页标题重复问题:dedecms列表页假如有多页的话,标题都是一样的,到57版本仍然没有改进(希望官方在下一个版本改进)。其实最简单的就是加个第一页第二页即可。
修改代码:在列表页模板中将原来的标题调用标签{dede:fieldtitle/}换成{dede:fieldtitle/}_第 {dede:pagelistlistsize=0listitem=pagenofunction=html2text(@me)/}页 -{dede:globalcfg_webname/},会生成“标题_第1页-网站名称”之类的标题。
3、自动关键字:从53起,系统就一直自动带这个功能,只不过很多人不知道怎么用而已。这是一个非常强大的功能。使用方法如下:
设置步骤:后台的“核心”→“批量维护”→“文档关键词维护”,新增关键字并同时加上要链接的网址即可。尽量避免重复,要精准单一,假如你给“兼职” 设置了一个链接,给“兼职网站”又加了一个,56以后的版本系统只会自动给兼职网站加,但以前的版本就会给兼职网站同时加上两个链接,请注意自己的使用的版本。
这里设置好了以后,还要需要再设置一个地方。后台的“系统设置”→“系统基本参数”→“其它选项”→“文档内容同一关键词替换次数(0为全部替换)”默认是2。这个可以根据自己的情况适当的调整。
4、相关文章设置:相关文章设置是有效提高用户体验的一种方法哦。57以后的系统自动带了这个功能了,以前的版本要自己添加。这个要注意一点的就是,相关文章的调用是根据tag标签或者关键字来调用的,假如你发表的文章这两个位置都没有设置的话,相关文章里面不会有内容的,因此,一定要设置一个。
5、dedecms调用wp博客文章:很多人用dedecms作主站,用wp搭建二级目录的博客,如何在dedecms中调用wp的文章,这个我花费了很长时间才调试好,前提是wp启用了固定链接,下面的例子是数字链接,调用的是博客内的最新文章,将域名换成你自己的就行了。
调用代码:
{dede:sql sql=select id as post_id from wp_posts where post_status=publishand post_type=post order by id desc limit 0,10}
li class=dotlinea href=
{/dede:sql}
6、谷歌地图:谷歌地图对于谷歌收录帮助非常之大,57版自带谷歌地图了。
设置步骤:后台的“核心”→“频道模型”→“自由列表管理”,简单设置更新即可,这里要特别注意一点的是,系统自动生成不带首页和列表页这关键的几页(不知道是不是官方的失误),只有文章页,请在模板googlemaphtm自己加上。
7、首页调用问答模板文章:开通了问答模块的,首页应该如何调用呢?这个我调式了很久,虽然现在没用了,但可能有网友有用:
调用代码:
{dede:askrow=‘14’qtype=‘ok’orderby=‘pubdate’}
liahref=/ask/question-id-[field:id/]htmltarget=_blank[field:title/]/a/li
{/dede:ask}
打开/include/taglib/asklibphp文件;修改 elseif($qtype==ok)$qtypeQuery=$tidstatus=1orderbysolvetimedesc;这条语句的 orderbyXXXXXdesc,把XXXX换成你要排序的字段就OK了。
8、适当优化:将当前位置的“主页”字样,改为“你自己的网站名称”。解释:学习过SEO的朋友一看就知道为什么了,增加内链,另一个好处就是利用回首页的关键词连接告诉蜘蛛,你的网站定位。其实这点真的很重要。
如何修改:在“系统参数设置”的主页链接输入“你的网站名称”即可,然后重新生成html。
9、全站RSS输出:织梦自带的rss和网站地图一样的,是按照栏目来分类的,不方便别人订阅。这个代码很长,自行去网上搜下,注意下就行了。
10、新窗口打开文章:小技巧,这个最简单的方法就是在把加入到headhtm这个模板的区域里里就行了,对其它cms一样实用哦,这样就不用每个链接都去设置了,一劳永逸。
以上内容,是本人3年多年使用织梦的经验,有些来自于网络,有些自己修改调试了很长时间,花费了很大的心血,现在分享出来,希望对正在或者即将使用dedecms建站的朋友有帮助。也欢迎大家分享更多经验。
0条评论