在dedecms栏目中添加时,有时候dedecms会提示你所选择的栏目与当前模型不相符,请选择白色的选项!
应该是本来就在/templets/default/images这个目录下才对,
解决方案:1、右键查看属性获得路径,如果它用的是css里的背景图那就和css路径有关了,同样有简单的解决方法。如果你的浏览器是搜狗、谷歌、360中的一种的话选择“高速”模式,在你所有查看的那块区域点击右键-->审核元素 看审核元素页的右边如果有背景的代码(比如background:url("/images/))时点击右键 出现下图 点击open link in new tab 就可以查看真实的路径,如果出现的仍然是一把×,那么就检查一下地址栏的路径出现什么问题了。
2、默认安装的话一般不会出现你说的这种情况,你可以在安装后生成一下栏目html、文档html,然后更新系统缓存。
你分析的路径错误是最靠谱的,这样用第一种方法就很容易判断出来。
21模板里调用部分…找到:
<DIV id=eData style="DISPLAY: none"> {dede:field name='id' function="litimgurls(@me)"/} </DIV>
改为: (只是改里边函数名字,前边加个字母而已)
<DIV id=eData style="DISPLAY: none"> {dede:field name='id' function="blitimgurls(@me)"/} </DIV>
22修改源代码:
Include/extendfuncphp 文件
加自定义函数:
//这里的函数名字前边比原有函数名字多加个b
function blitimgurls($imgid=0){
global $lit_imglist,$dsql;
//$dsql = new DedeSql(false);
//获取附加表
$row = $dsql->GetOne("SELECT caddtable FROM dede_archives AS a LEFT JOIN dede_channeltype AS c ON achannel=cid where aid='$imgid'");
$addtable = trim($row['addtable']);
//获取附加表imgurls字段内容进行处理
$row = $dsql->GetOne("Select imgurls From `$addtable` where aid='$imgid'");
//调用inc_channel_unitphp中ChannelUnit类
$ChannelUnit = new ChannelUnit(2,$imgid);
//调用ChannelUnit类中GetlitImgLinks方法处理缩略图
$lit_imglist = $ChannelUnit->bGetlitImgLinks($row['imgurls']);
//这里的方法名字前边多加个b
//返回结果
return $lit_imglist;
}
23修改:include/channelunitclassphp
添加一个方法: (其实就是原来的方法做了一点修改名字多个b;还有就是
//修改$ddimg为$src请看代码里的此注释位置)
function bGetlitImgLinks($fvalue){
if($GLOBALS["htmltype"]=="dm"){
if(empty($GLOBALS["pageno"])) $NowPage = 1;
else $NowPage = intval($GLOBALS["pageno"]);
}else{
if(empty($GLOBALS["stNowPage"])) $NowPage = 1;
else $NowPage = intval($GLOBALS["stNowPage"]);
}
$revalue = "";
$dtp = new DedeTagParse();
$dtp->LoadSource($fvalue);
if(!is_array($dtp->CTags)){
$dtp->Clear();
return "无信息!";
}
$ptag = $dtp->GetTag("pagestyle");
if(is_object($ptag)){
$pagestyle = $ptag->GetAtt('value');
$maxwidth = $ptag->GetAtt('maxwidth');
$ddmaxwidth = $ptag->GetAtt('ddmaxwidth');
$irow = $ptag->GetAtt('row');
$icol = $ptag->GetAtt('col');
if(empty($maxwidth)) $maxwidth = $GLOBALS['cfg_album_width'];
}else{
$pagestyle = 2;
$maxwidth = $GLOBALS['cfg_album_width'];
$ddmaxwidth = 200;
}
if($pagestyle == 3){
if(empty($irow)) $irow = 4;
if(empty($icol)) $icol = 4;
}
$mrow = 0;
$mcol = 0;
$photoid = 1;
$images = array();
$TotalPhoto = sizeof($dtp->CTags);
foreach($dtp->CTags as $ctag){
if($ctag->GetName()=="img"){
$iw = $ctag->GetAtt('width');
$ih = $ctag->GetAtt('heigth');
$alt = str_replace("'","",$ctag->GetAtt('text'));
$src = trim($ctag->GetInnerText());
//echo $src"<BR>"; //源图
$ddimg = $ctag->GetAtt('ddimg');
//echo $ddimg"<BR>"; //缩略图
if($iw > $maxwidth) $iw = $maxwidth;
$iw = (empty($iw) "" : "width='$iw'");
if($GLOBALS["htmltype"]=="dm") {
$imgurl = "viewphpaid=$this->ArcID&pageno=$photoid";
}else{
if($photoid==1){
$imgurl = $GLOBALS["fileFirst"]"html";
}else{
$imgurl = $GLOBALS["fileFirst"]"_"$photoid"html";
}
}
$imgcls = "image"($photoid-1);
//修改这里$ddimg改为$src
$revalue = "<dl><dt>$alt<dd>$src<dd>$ddimg<dd>$ddimg<dd><dd><div></div><div></div><dd><dd>$photoid</dd></dl>\r\n";
$photoid++;
}
}
unset($dtp);
unset($images);
return $revalue;
}
其实里边的$src就是大图,源图地址$ddimg就是缩略图地址
网上给你找的 希望能帮助到你
您好,织梦云模板很高兴为您解答:
这种情况是你将这个栏目建立成封面栏目所致。请将此栏目改成最终列表栏目或者选择在子栏目下建文档。
如下图:
备份数据,重新装dedecms。装好以后还原数据库即可。
重装织梦的方法是:根目录下有一个install的文件夹,打开之后把下图两个画红圈的文件后面的bak删掉,然后把画蓝框的后缀为lock的文件删除。在浏览器打开/install/indexphp就可以进入安装界面了。
在CCS文件中不要使用织梦的标签,它不会解析的。
你可以在使用相对路径。比如:你的CSS文件在 style目录中,在 images目录中,那么,你的css文件中的地址可以写成
main { background:url("/images/IndexBggif") repeat-y; }
希望能帮到你!
不是权限问题,需要修系统文件代码才能上传。
用dreamweaver打开include/uploadsafeincphp,找到第45行代码$imtypes='array',只需在im之后添加一个字母g,改成$imgtypes='array'
就行了。
0条评论