魔扣论坛

商业源码下载
查看: 13|回复: 1

[织梦教程] dedecms源码中怎么运行php脚本和变量在需要操作数

[复制链接]
  • TA的每日心情
    开心
    22 小时前
  • 签到天数: 1376 天

    [LV.10]论坛老兵

    7206

    主题

    7421

    帖子

    5万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    217995
    贡献
    24181
    威望
    18447

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2019-12-4 23:25:00 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】
    淘宝、天猫优惠券

    本帖子中包含更多资源

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

    x
    在使用织梦CMS网站源码的时候,经常会需要直接对织梦CMS数据库的底层字段进行处理,如果织梦CMS中没有相应的函数的时候,往往就需要我们想方案来处理了。

    举例:我想取出数据表addonimages中的某一条记录的typeid这个字段,然后在浏览器中输出typeid乘以2的结果。(注:这里的typeid值为6)

    起初我是这么写的:

    代码如下:

    <body class="index">

    {dede:loop table='dede_addonimages' if='aid=94'}

    [field:typeid runphp='yes']

    echo @me*2;

    [/field:typeid]

    {/dede:loop}

    </body>

    浏览器输出结果是:12 6

    这 里多出一个6,我认为是原因是[field:typeid]会先执行内部的php语句,当运行到[/field:typeid]这一行时,它会调用内部的 函数,直接返回[field:typeid]底层源码的内容,如果想要直接输出12的话,只能在/include/extend.fuc.php 这个文件中添加自定义的函数。

    代码如下:

    function abc($val){

    return $val*2;

    }

    然后源码改写为:

    代码如下:

    <body class="index">

    {dede:loop table='dede_addonimages' if='aid=94'}

    [field:typeid function="abc(@me)" /]

    {/dede:loop}

    </body>

    输出结果为:12

    另外要注意的是,同一源码中的两段php代码里面的变量不通用,也就是说一段php代码中的某一变量,它的作用域只限于该短代码。

    例:

    代码如下:

    <body class="index">

    {dede:loop table='dede_addonimages' if='aid=94'}

    [field:typeid runphp='yes']

    echo $a=@me*2;

    [/field:typeid]

    {/dede:loop}

    {dede:php}var_dump($a);{/dede:php}

    </body>

    输出结果为:12 6 NULL

    如果想在后面的php脚本中使用上面php脚本中的变量,我想出一个临时性的解决办法,即用全局变量来解决这个问题。

    代码如下:

    <body class="index">

    {dede:loop table='dede_addonimages' if='aid=94'}

    [field:typeid runphp='yes']

    $GLOBALS['a']=@me*2;

    [/field:typeid]

    {/dede:loop}

    {dede:php}echo $GLOBALS['a'];{/dede:php}

    </body>

    输出结果为:6 12 (因为[field:typeid]中没有echo,所以直接输出6)

    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    2

    主题

    208

    帖子

    414

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    206
    贡献
    206
    威望
    0
    发表于 2019-12-5 09:27:14 来自手机 | 显示全部楼层
    最温暖的不是春天,而是朋友的笑脸;最惬谢意的不是阳光,而是朋友的祝福;最浪漫的不是桃花漫天飞舞季节,而是我们彼此牵挂和那温馨的问候!祝愿好友魔扣源码论坛天天甜甜蜜蜜快快乐乐!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表