dedecms dede:arclist 怎么调用文章副栏目的名称,我是要文章副栏目的名称和该栏目的链接
可以用代码二次开发,我给你讲一下我的实现方法。
首先要添加一个作者栏目,然后在栏目里面添加作者文档,定义一个模板,模板中用{dede:sql}调用这个作者的所有小说即可。
代码如下:
{dede:sql sql="Select id,title,litpic,writer,description from dede_archives where writer=~title~ order by pubdate DESC"}<li><a href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id] "><img src=[field:litpic/] width="114px" height="160px"/><h2>[field:title/] - [field:writer/]</h2><p>[field:description/]</p></a></li>{/dede:sql}然后在小说更新的时候添加个自定义字段,作者链接,模板的作者处调用该字段即可,如果没有作者,则留空。
代码如下:
<a href="{dede:fieldofficialdemo runphp='yes'}if(@me =='http://') @me='#';else @me=@me;{/dede:fieldofficialdemo}">{dede:fieldwriter/}</a>这样的好处是符合逻辑,并且作者页面可以生成静态,坏处是工作量变大,如果你图简单,可以自己做个authorphp页面,接受传参,里面直接按照传参搜索数据库就可以了,然后小说模板中作者处调用如下代码:
authorphpkey=[fieldwriter /]这样也可以啊。
dedecms 网站调用导航栏目和下拉菜单的方法如下:
织梦开源程序(dedecms)是一个很不错的开源程序,功能十分的强大,只是默认的模板就有很不错的用户体验效果。而还有很多的不完美的地方,就需要我们自己去做一下修改,譬如默认导航条上面没有下拉列表的功能,今天我就来帮助大家解决一下怎样制作织梦导航下拉列表。
其实这个导航条上面显示下拉列表还是蛮简单的,即使你不懂代码知识也是可以操作的,下面跟着步骤走,就能很轻松的实现啦。
首先我们将将下面这段红色的代码贴到"网站根目录\templets\default\"的"footerhtm"文件里里面,一般来说把这段代码放在最下面就行了。
<!-- //放于底部即可-->
<script type='text/javascript' src='{dede:globalcfg_cmsurl/}/images/js/dropdownjs'></script>
{dede:channelartlist typeid='top' cacheid='channelsonlist'}<ul id="dropmenu{dede:fieldtypeid/}" class="dropMenu">
{dede:channel type='son' noself='yes'} <li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
{/dede:channelartlist}
<script type="text/javascript">cssdropdownstartchrome("navMenu")</script>
接着我们重新生成网站首页,再打开首页刷新一下就会发现你的网站导航栏已经出现下拉菜单了,只是背景还是透明的,原因是没有背景。这时候我们只需要再加一张我们喜欢的背景就好看多了。
可是头疼的是,这个下拉菜单是透明的!咋么办??
加背景的办法
我们把织梦DedeCMS程序文件夹\dede\img里的mmenubggif(绿色背景,适用于绿色主题模板)或者DedeCMS程 序文件夹\templets\images里的mmenubggif(蓝色背景,适用于蓝色主题模板)复制到DedeCMS程序文件夹 /templets/default/images下面,现在你再看一下效果,导航栏是不是已经出现熟悉的下拉菜单了。
如果还想有更好的效果展示的话,我们就需要去手工修改/templets/default/style/dedecmscss里面的文件了,不过这得需要一点css知识哦~
修改css的话,我们可以在里面使用"ctrl+f"寻找 dropMenu 进行修改即可。
内容页 -标签:
{dede:fieldtypeid2 runphp='yes'}
$dsql= new dedesql();
$ks = split(',', @me);
$type2name="";
foreach($ks as $k){
$k = trim($k);
if ($k!="") {
if ($row = $dsql->getOne("select ,ID as id1 from dede_arctype where id="$k)){
$type_path=GetTypeUrl($row['id1'],MfTypedir($row['typedir']),$row['isdefault'],$row['defaultname'],$row['ispart'],$row['namerule2'],$row['siteurl']);
$type2name="<a href='"$type_path"' target=_blank>"$row['typename']"</a> ";
}
}
}
@me=substr($type2name,0,strlen($type2name)-1);
{/dede:fieldtypeid2}
首页 列表页 -标签 :
[field:typeid2 runphp='yes']
$dsql= new dedesql();
$ks = split(',', @me);
$type2name="";
foreach($ks as $k){
$k = trim($k);
if ($k!="") {
if ($row = $dsql->getOne("select ,ID as id1 from dede_arctype where id="$k)){
$type_path=GetTypeUrl($row['id1'],MfTypedir($row['typedir']),$row['isdefault'],$row['defaultname'],$row['ispart'],$row['namerule2'],$row['siteurl']);
$type2name="<a href='"$type_path"' target=_blank>"$row['typename']"</a> ";
}
}
}
@me=substr($type2name,0,strlen($type2name)-1);
[/field:typeid2]
默认页就是,系统会生成一个indexhtml文件代替列表第一页作为栏目的首页,列表第一页就是直接连接到列表第一页,动态么就是不生成咯。外部链接就在路径上填上地址,记得加http:// 就行了 试下吧
{dede:arclist typeid='' orderby='pubdate' titlelen=34 row=10}
<li><a target="_blank" href="[field:arcurl /]">[field:title/]</a></li>
{/dede:arclist}
orderby='pubdate' 按出版时间排列
orderby='' 表示排序方式,默认值是 senddate 按发布时间排列。
orderby='hot' 或 orderby='click' 表示按点击数排列
typeid='' 为空 表示调用当前栏目最新文章
楼主可以试试看看 行就给分吧 更多请关注百度空间:http://wwwbaiducom/p/疯子小组
0条评论