Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

模型字段调用转换成PHP代码后的BUG

[复制链接]
lilovelo 发表于 2008-3-1 02:09:11 | 显示全部楼层 |阅读模式
<已解决!>

先看代码
这段时模版代码:
  1.             <!--{block name="model" parameter="name/shop/haveattach/1/order/i.dateline DESC/limit/0,4/cachetime/900/subjectlen/24/showdetail/1/messagelen/80/showcategory/1/cachename/newshop/tpl/data"}--><!--shop-->
  2.                         <!--{loop $_SBLOCK['newshop'] $value}-->
  3.             <table width="271" border="0" align="center" cellpadding="0" cellspacing="0" class="tag_box">
  4.               <tr>
  5.                 <td height="8" colspan="2"></td>
  6.               </tr>
  7.               <tr>
  8.                 <td width="79" height="72" valign="top"> <div align="left"><a href="$value[url]" title="$value[subject]"  target="_blank"><img src="$value[subjectimage]"  width="80" height="60" hspace="10"></a></div></td>
  9.                 <td width="192" valign="top" class="fontindex">
  10.                 <a href="$value[url]" title="$value[subject]"  target="_blank"><font color="FF7700"><strong>$value[subject]</strong></font></a><br>
  11.                 <font color="#FF0000">折扣:$value[Discount]</font><br>
  12.                 <font color="#666666">地址:$value[Address]</font></td>
  13.               </tr>
  14.               <tr>
  15.                 <td height="1" colspan="2" bgcolor="#CCCCCC"></td>
  16.               </tr>
  17.             </table>
  18.             <!--{/loop}-->
复制代码
这段时SS模版转换成PHP代码的效果:
  1.             <?php block("model", "name/shop/catid/$thecat[subcatid]/haveattach/1/order/i.dateline DESC/limit/0,4/cachetime/900/subjectlen/24/showdetail/1/messagelen/80/showcategory/1/cachename/newshop/tpl/data"); ?><!--shop-->
  2. <?php if(is_array($_SBLOCK['newshop'])) { foreach($_SBLOCK['newshop'] as $value) { ?>
  3.             <table width="271" border="0" align="center" cellpadding="0" cellspacing="0" class="tag_box">
  4.               <tr>
  5.                 <td height="8" colspan="2"></td>
  6.               </tr>
  7.               <tr>
  8.                 <td width="79" height="72" valign="top"> <div align="left"><a href="<?=$value['url']?>" title="<?=$value['subject']?>"  target="_blank"><img src="<?=$item['subjectimage']?>"  width="80" height="60" hspace="10"></a></div></td>
  9.                 <td width="192" valign="top" class="fontindex">
  10.                 <a href="<?=$value['url']?>" title="<?=$value['subject']?>"  target="_blank"><font color="FF7700"><strong><?=$value['subject']?></strong></font></a><br>
  11.                 <font color="#FF0000">折扣:<?=$item['Discount']?></font><br>
  12.                 <font color="#666666">地址:<?=$item['Address']?></font></td>
  13.               </tr>
  14.               <tr>
  15.                 <td height="1" colspan="2" bgcolor="#CCCCCC"></td>
  16.               </tr>
  17.             </table>
  18.             
  19. <?php } } ?>
复制代码
这段时在将模版放在资讯里面转换成PHP代码后的效果(也是我们做的模板本意要求的效果):
  1.             <?php block("model", "name/shop/catid/$thecat[subcatid]/haveattach/1/order/i.dateline DESC/limit/0,4/cachetime/900/subjectlen/24/showdetail/1/messagelen/80/showcategory/1/cachename/newshop/tpl/data"); ?><!--shop-->
  2. <?php if(is_array($_SBLOCK['newshop'])) { foreach($_SBLOCK['newshop'] as $value) { ?>
  3.             <table width="271" border="0" align="center" cellpadding="0" cellspacing="0" class="tag_box">
  4.               <tr>
  5.                 <td height="8" colspan="2"></td>
  6.               </tr>
  7.               <tr>
  8.                 <td width="79" height="72" valign="top"> <div align="left"><a href="<?=$value['url']?>" title="<?=$value['subject']?>"  target="_blank"><img src="<?=$value['subjectimage']?>"  width="80" height="60" hspace="10"></a></div></td>
  9.                 <td width="192" valign="top" class="fontindex">
  10.                 <a href="<?=$value['url']?>" title="<?=$value['subject']?>"  target="_blank"><font color="FF7700"><strong><?=$value['subject']?></strong></font></a><br>
  11.                 <font color="#FF0000">折扣:<?=$value['Discount']?></font><br>
  12.                 <font color="#666666">地址:<?=$value['Address']?></font></td>
  13.               </tr>
  14.               <tr>
  15.                 <td height="1" colspan="2" bgcolor="#CCCCCC"></td>
  16.               </tr>
  17.             </table>
  18.             
  19. <?php } } ?>
复制代码
从上面2,3段代码可以看出:原本模板中的字段调用代码:$value['subjectimage'],$value['Discount'],$value['Address']被系统错误地转换成了:$item['subjectimage'],$item['Discount'],$item['Address'],那么会出现什么效果呢!如果在模版有对申明$item的请况下,比如放在模型内容页则会出现数据,但不是我们想要的,如果是放在没有被申明的地方,那就会是一遍空白。下面看看图片效果:
手工修改PHP代码文件后的效果:

有申明$item的效果:

无申明$item的效果:


希望官方速度修复本BUG。

[ 本帖最后由 lilovelo 于 2008-3-5 15:05 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
疯鼠 发表于 2008-3-4 09:21:51 | 显示全部楼层
你好,我们已经测试过了,不存在你说的问题。把ftp的帐号pm给我吧,我到你那看看

3.5日
问题进一步查明,不是程序问题,是你的模型模板问题。你的mthemes/shop/模板中第285-286行就指定成了$item[Discount],因此在生成的/model/data/shop模板也就顺带是错误的了,有不明白的再找我。

[ 本帖最后由 疯鼠 于 2008-3-5 10:33 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 23:35 , Processed in 0.039697 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表