首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从另一个文件中获取变量的值到函数php中?

如何从另一个文件中获取变量的值到函数php中?
EN

Stack Overflow用户
提问于 2018-08-18 22:35:12
回答 1查看 37关注 0票数 0

我有一个Joomla模块

Default.php文件中,调用了一个函数和一个来自xml文件的变量。

但是它找不到变量函数。

$mod_circle_display1不是由函数读取;

该函数直接看到均值else,函数的输出是column1 (这就是column1 )。

我的Default.php

代码语言:javascript
复制
require_once __DIR__ . '/function.php';
$check = CheckDisplay();
 ?>

 <div class="<?php echo CheckDisplay()?> <?php echo $mod_circle_move1;?>"
 style="<?php echo $mod_circle_display1;?>">

 <div class="<?php echo CheckDisplay()?> <?php echo $mod_circle_move2;?>"
 style="<?php echo $mod_circle_display2;?>">

 <div class="<?php echo CheckDisplay()?> <?php echo $mod_circle_move3;?>"
 style="<?php echo $mod_circle_display3;?>">

 <div class="<?php echo CheckDisplay()?> <?php echo $mod_circle_move4;?>"
 style="<?php echo $mod_circle_display4;?>">

我的Function.php

代码语言:javascript
复制
         function CheckDisplay ()
{ 
       /*global $mod_circle_display1; is not worked*/
       /*global $mod_circle_display2; is not worked*/
       /*global $mod_circle_display3; is not worked*/
       /*global $mod_circle_display4; is not worked*/
        $mod_circle_display1;
        $mod_circle_display2;
        $mod_circle_display3;
        $mod_circle_display4;

        $mod_circle_displayon = "display:none !important";
        $mod_circle_displayoff = "padding:0";

        $mod_circle_displayres1 = "column4";
        $mod_circle_displayres2 = "column2";
        $mod_circle_displayres3 = "column1";

     if (($mod_circle_display1 == $mod_circle_displayoff)AND($mod_circle_display2 == $mod_circle_displayoff)AND
         ($mod_circle_display3 == $mod_circle_displayoff)AND($mod_circle_display4 == $mod_circle_displayoff))
        {
           return $mod_circle_displayres1;
        }
 elseif (($mod_circle_display1 == $mod_circle_displayoff)AND($mod_circle_display2 == $mod_circle_displayon)AND
         ($mod_circle_display3 == $mod_circle_displayoff)AND($mod_circle_display4 == $mod_circle_displayon))
        {
           return $mod_circle_displayres2;
        }
  else { return $mod_circle_displayres3; }

我的mod_circle.xml

代码语言:javascript
复制
<field name="mod_circle_display1"
 type="list" 
 default="padding:0" 
 label="MOD_CIRCLE_DISPLAY1" 
 description="MOD_CIRCLE_DISPLAY1">
 <option value="display:none !important">Yes</option>
 <option value="padding:0">No</option>
</field>
and ...

我的mod_circle.php

代码语言:javascript
复制
defined( '_JEXEC' ) or die( 'Restricted access' );

require_once __DIR__ . '/helper.php';

$mod_circle_background          = $params->get('mod_circle_background');
$mod_circle_widthrl             = $params->get('mod_circle_widthrl');
$mod_circle_display1            = $params->get('mod_circle_display1');
$mod_circle_image1              = $params->get('mod_circle_image1');
$mod_circle_opacity1            = $params->get('mod_circle_opacity1');
$mod_circle_width1              = $params->get('mod_circle_width1');
$mod_circle_height1             = $params->get('mod_circle_height1');
$mod_circle_margin1             = $params->get('mod_circle_margin1');
$mod_circle_radius1             = $params->get('mod_circle_radius1');
$mod_circle_circle1             = $params->get('mod_circle_circle1');
$mod_circle_circletime1         = $params->get('mod_circle_circletime1');
and
    $mod_circle_display2            = $params->get('mod_circle_display2');
Etc.
    $mod_circle_display3            = $params->get('mod_circle_display3');
Etc.
    $mod_circle_display4            = $params->get('mod_circle_display4');
Etc.
EN

回答 1

Stack Overflow用户

发布于 2018-08-19 00:16:17

首先,就PHP脚本而言,您低估了$mod_circle_display1是不存在的。

它可能(可以这么说)存在于XML中,但不存在于PHP中

您需要首先将XML文件中所需的值解析为php变量( $mod_circle_display1 ),然后将$mod_circle_display1设置为全局变量(请参阅本教程:https://www.w3schools.com/php/php_xml_simplexml_read.asp)。

您甚至可以从函数内部将XML文件读取到$mod_circle_display1中,这样就不需要将$mod_circle_display1设置为全局变量

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51909702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档