POST TIME:2017-11-13 00:49
今天在做一个站时用到了自定义模型,遇到了些问题,在更新列表页时提示:
Fatal error: Call to a member function GetInnerText() on a non-object in E:\www\include\taglib\channel\img.lib.php on line 51
这个错误提示会在更新自定义模型栏目列表的时候出现,修复此问题方法很简单。
编辑打开 /inculde/taglib/channel/img.lib.php
找到51行所在的代码,将其替换为
$innerTmp = ($arcTag=="") ? trim($arcTag) : trim($arcTag->GetInnerText());
保存即可。
然后列表页就正常了。
- <?php
- if(!defined('DEDEINC'))
- {
- exit("RequestError!");
- }
- /**
- *图像标签
- *
- *@version$Id:img.lib.php19:332010年7月8日Ztianya$
- *@packageDedeCMS.Taglib
- *@copyrightCopyright(c)2007-2010,DesDev,Inc.
- *@licensehttp://help.dedecms.com/usersguide/license.html
- *@linkhttp://www.dedecms.com
- */
- functionch_img($fvalue,&$arcTag,&$refObj,$fname='')
- {
- global$cfg_album_width,$cfg_album_row,$cfg_album_col,$cfg_album_pagesize,$cfg_album_style,$cfg_album_ddwidth,$cfg_basehost,$cfg_multi_site;
- $dtp=newDedeTagParse();
- $dtp->LoadSource($fvalue);
- if(!is_array($dtp->CTags))
- {
- $dtp->Clear();
- return"无图片信息!";
- }
- $pagestyle=$cfg_album_style;
- $maxwidth=$cfg_album_width;
- $ddmaxwidth=$cfg_album_ddwidth;
- $pagepicnum=$cfg_album_pagesize;
- $row=$cfg_album_row;
- $icol=$cfg_album_col;
- $ptag=$dtp->GetTag('pagestyle');
- if(is_object($ptag))
- {
- $pagestyle=$ptag->GetAtt('value');
- $maxwidth=$ptag->GetAtt('maxwidth');
- $ddmaxwidth=$ptag->GetAtt('ddmaxwidth');
- $pagepicnum=$ptag->GetAtt('pagepicnum');
- $irow=$ptag->GetAtt('row');
- $icol=$ptag->GetAtt('col');
- if(emptyempty($maxwidth))
- {
- $maxwidth=$cfg_album_width;
- }
- }
- //遍历图片信息
- $mrow=0;
- $mcol=0;
- $images=array();
- $innerTmp=$arcTag->GetInnerText();
- if(trim($innerTmp)=='')
- {
- $innerTmp=GetSysTemplets("channel_article_image.htm");
- }
- if($pagestyle==1)
- {
- $pagesize=$pagepicnum;
- }
- elseif($pagestyle==2)
- {
- $pagesize=1;
- }
- else
- {
- $pagesize=$irow*$icol;
- }
- if(is_object($arcTag)&&$arcTag->GetAtt('pagesize')>0)
- {
- $pagesize=$arcTag->GetAtt('pagesize');
- }
- if(emptyempty($pagesize))
- {
- $pagesize=12;
- }
- $aid=$refObj->ArcID;
- $row=$refObj->dsql->GetOne("SELECTtitleFROM`ddmx_archives`WHERE`id`='$aid';");
- $title=$row['title'];
- $revalue='';
- $GLOBAL['photoid']=0;
- foreach($dtp->CTagsas$ctag)
- {
- if($ctag->GetName()=="img")
- {
- $fields=$ctag->CAttribute->Items;
- $fields['text']=str_replace("'","",$ctag->GetAtt('text'));
- $fields['title']=$title;
- $fields['imgsrc']=trim($ctag->GetInnerText());
- $fields['imgsrctrue']=$fields['imgsrc'];
- if(emptyempty($fields['ddimg']))
- {
- $fields['ddimg']=$fields['imgsrc'];
- }
- if($cfg_multi_site=='Y')
- {
- //$cfg_basehost)
- if(!preg_match('#^http:#i',$fields['imgsrc'])){
- $fields['imgsrc']=$cfg_basehost.$fields['imgsrc'];
- }
- if(!preg_match('#^http:#i',$fields['ddimg'])){
- $fields['ddimg']=$cfg_basehost.$fields['ddimg'];
- }
- }
- if(emptyempty($fields['width']))
- {
- $fields['width']=$maxwidth;
- }
- //if($fields['text']=='')
- //{
- //$fields['text']='图片'.($GLOBAL['photoid']+1);
- /