我正在使用joomla .., 通过runnig joomla它在链接部分显示以下错误 并且主要错误是关于参数期望参考。 如果我改变它,它将不会显示任何链接
警告:modChrome_artblock()的参数2应为a 参考,给出的值 D:\ xampp \ htdocs \ Site \ templates \ a_2 \ html \ modules.php on 第36行
警告:modChrome_artblock()的参数3应该是a 参考,给出的值 D:\ xampp \ htdocs \ site \ templates \ a_2 \ html \ modules.php on 第36行
这个错误的php代码是
- <?php
defined('_JEXEC') or die;
if (!defined('_ARTX_FUNCTIONS'))
require_once dirname(__FILE__) . str_replace('/', DIRECTORY_SEPARATOR, '/../functions.php');
function modChrome_artstyle($module, &$params, &$attribs)
{
$style = isset($attribs['artstyle']) ? $attribs['artstyle'] : 'art-nostyle';
$styles = array(
'art-nostyle' => 'modChrome_artnostyle',
'art-block' => 'modChrome_artblock',
'art-article' => 'modChrome_artarticle',
'art-vmenu' => 'modChrome_artvmenu'
);
// moduleclass_sfx support:
// '' or 'suffix' - the default module style: custom suffix will not be added to the module tag
// but will be added to the module elements.
// ' suffix' - adds suffix to the module as well as to the module elements.
// 'art-...' - overwrites the default module style.
// 'suffix art-...' - overwrites the default style and adds suffix to the module and
// to its elements, does not add art-... to the module elements.
$classes = explode(' ', rtrim($params->get('moduleclass_sfx')));
$keys = array_keys($styles);
$art = array();
foreach ($classes as $key => $class) {
if (in_array($class, $keys)) {
$art[] = $class;
$classes[$key] = ' ';
}
}
$classes = str_replace(' ', ' ', rtrim(implode(' ', $classes)));
$style = count($art) ? array_pop($art) : $style;
$params->set('moduleclass_sfx', $classes);
> call_user_func($styles[$style], $module, $params, $attribs);
}
function modChrome_artnostyle($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
<!-- begin nostyle -->
<div class="art-nostyle<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if ($module->showtitle != 0) : ?>
<h3><?php echo $module->title; ?></h3>
<?php endif; ?>
<!-- begin nostyle content -->
<?php echo $module->content; ?>
<!-- end nostyle content -->
</div>
<!-- end nostyle -->
<?php endif;
}
function modChrome_artblock($module, &$params, &$attribs)
{
if (!empty ($module->content))
echo artxBlock(($module->showtitle != 0) ? $module->title : '', $module->content,
$params->get('moduleclass_sfx'));
}
function modChrome_artvmenu($module, &$params, &$attribs)
{
if (!empty ($module->content)) {
if (function_exists('artxVMenuBlock'))
echo artxVMenuBlock(($module->showtitle != 0) ? $module->title : '', $module->content,
$params->get('moduleclass_sfx'));
else
echo artxBlock(($module->showtitle != 0) ? $module->title : '', $module->content,
$params->get('moduleclass_sfx'));
}
}
function modChrome_artarticle($module, &$params, &$attribs)
{
if (!empty ($module->content)) {
$data = array('classes' => $params->get('moduleclass_sfx'), 'content' => $module->content);
if ($module->showtitle != 0)
$data['header-text'] = $module->title;
echo artxPost($data);
}
}
显示错误
call_user_func($ styles [$ style],$ module,$ params,$ attribs);
答案 0 :(得分:0)
您可以使用
function modChrome_artblock($module, $params, $attribs)
代替
function modChrome_artblock($module, &$params, &$attribs)