我在joomla中创建一个简单的模块。我有一个文件mod_progress.php。
defined( '_JEXEC' ) or die( 'Restricted access' );
// Include the syndicate functions only once
require_once( dirname(__FILE__).'/helper.php' );
require( JModuleHelper::getLayoutPath( 'mod_progress' ) );
$document = JFactory::getDocument();
$document->addStyleSheet(JURI::base() . 'modules/mod_progress/tmpl/styles.css');
$percentValues = htmlspecialchars($params->get('percentValues'));
最后一行是这里感兴趣的。我想获取变量$ percentValues并传递它以在模块的default.php模板中使用。
在我的default.php中,我只有:
<?php echo $percentValues; ?>
这不起作用。我得到的错误告诉我变量是未定义的。
但是,如果我这样做:
<?php $percentValues = htmlspecialchars($params->get('percentValues'));
echo $percentValues; ?>
它运作得很好。有人可以解释为什么我不能使用变量吗?必须有一些我不知道的大事。使用Joomla! 3.1。
提前谢谢。
贾里德
答案 0 :(得分:2)
重新排列代码
defined( '_JEXEC' ) or die( 'Restricted access' );
// Include the syndicate functions only once
require_once( dirname(__FILE__).'/helper.php' );
$percentValues = htmlspecialchars($params->get('percentValues'));
$document = JFactory::getDocument();
$document->addStyleSheet(JURI::base() . 'modules/mod_progress/tmpl/styles.css');
require( JModuleHelper::getLayoutPath( 'mod_progress' ) );
应在包含布局之前声明变量。