织梦cms如何修改我主页上的轮播之类的东西。
之前选择的自定义图集
一、添加一个获取地址的方法
打开 /include/extendfunc 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可),在最下面的>上一行加入以下函数代码:(如果结尾没有>那就直接在最下面添加)
function GetOneImgUrl($img,$ftype=1){ if($img <> ''){ $dtp = new DedeTagParse(); $dtp->LoadSource($img); if(is_array($dtp->CTags)){ foreach($dtp->CTags as $ctag){ if($ctag->GetName()=='img'){ $width = $ctag->GetAtt('width'); $height = $ctag->GetAtt('height'); $imgurl = trim($ctag->GetInnerText()); $img = ''; if($imgurl != ''){ if($ftype==1){ $img = $imgurl; } else{ $img = '<img src="'$imgurl'" width="'$width'" height="'$height'" />'; } } } } } $dtp->Clear(); return $img; } }
可以直接用下面的方法调用
[field:自定义字段名 function="GetOneImgUrl(@me,显示类型)"/]
最终使用方法。
{dede:arclist typeid='12' addfields='datu' channelid='17' limit='0,7'}
<li><a href="[field:arcurl/]" target="_blank"><img border="0" src="[field:datu function='GetOneImgUrl(@me,1)'/]"></a></li>
{/dede:arclist}
最终调用到这个地址。
dedecms的模板在templets\default这个目录里面
里面有很多个文件 首页的模板 列表页的模板等
你都要分别作出这几个模板,做好静态模板后需要熟悉dedecms模板标签
进行嵌套 这样才能使用
如这个标签“{dede:globalcfg_webname/}”套在首页的标题处 就是显示网站标题!
在dedecms的templates/default里找到indexhtm。这个是dedecms默认的主页模板,把这个打开,找到轮播的JS代码复制出来到你自己的模板里。
下面来根据需要改代码了。dedecms轮播默认是有标题的。我这里是不需要这个功能,所以把它取掉了。修改了几个地方。textarr = new Array();var texts = "";首先把这两个删除。(第一个数组变量是用来存储标题的,第二个变量,是当前的标题。)。dedecms这个代码里,有一个配置变量,是有说明的,大家可以根据说明去修改。因为我为里只是要删除标题,所以把和标题相关的配置删除就OK了。(最终结果:var configtg='2|3|1|_blank';)。在把dedecms标签里的:textarr[[field:globalautoindex/]] = "[field:title function='html2text(@me)'/]";这一段删除,下面还有一个循环遍历标题的,也要删除。dedecms轮播这里是采用的flash的方式,所以在<object>里还要删除和标题相关的参数。这些工作都做完后,就开始在后台添加了。在刚才自己新建的栏目里,新建文章,输入文章标题
分别√选,幻灯、滚动、、跳转
在出来的跳转网址的地方,输入你要跳转到的地址
然后上传,在缩略图这里上传,而非文章正文。文章正文留为空。
比如我们在首页需要调用指定栏目ID为6的栏目下的文章,而该栏目下有一个ID为12的子栏目,通常我们在首页的调用代码如下:
<ul>
{dede:arclist typeid='8' row='10' col='1' orderby='hot'}
<li><a href='[field:arcurl/]'>[field:shorttitle/]</a></li>
{/dede:arclist}
</ul>
但是调用后,此栏目下的ID为12的子栏目里面的内容也会出现在列表里,如果不想要子栏目的内容出现在列表里很简单,这个在后台就有设置,具体设置如下:
登录织梦管理后台,在“系统基本参数”——“性能选项”——“上级列表是否包含子类内容:”这个选项选择“否”就行了。
当然这个是有前提的,这个只能说是调用列表页,如果你调用的栏目是封面页,那么肯定会取子栏目的数据,如果你调用的是列表页,那么肯定是可以的。
DedeCMS(织梦内容管理系统)是织梦团队开发的一套网站管理系统(CMS)。
这个系统把一个网站的内容(文字,,等等)与网站的组件分离开来,可以将各个页面连接到一起,可以控制页面的显示。通过这个系统,可以方便的管理,发布,维护网站的内容,而不再需要硬性的写HTML代码或手工建立每一个页面。
你这个问题是属于:在一个内容模型里面去调用另外一个内容模型的问题了。
解决方法如下:
{dede:arclist row=10 titlelen='8' type='image' addfields='price,trueprice' channelid='6' orderby='pubdate' typeid='5' }
<li>
<a href="[field:arcurl/]">[field:image/]<span>[field:title/]</span></a>
<div>市场价:[field:price/]元</div>
<div>优惠价:[field:trueprice/]元</div>
</li>
{/dede:arclist}
说明:
channelid='6' 是内容模型的id号
addfields='price,trueprice' 这个是想要调出来的字段名。
0条评论