2017-05-07 69 views
1

上午使用joomla .., 由runnig joomla它显示以下错误链接部分 和主要错误是关于该参数期待引用。 如果我改变它,它不会显示任何链接Php代码显示网页中的以下错误

警告:参数2 modChrome_artblock()预计将在 d给予 参考,值:\ XAMPP \ htdocs中\网站\模板\ A_2 \ HTML \ modules.php上 线36

警告:参数3至modChrome_artblock()预计将在 d给予 参考,值:\ XAMPP \ htdocs中\站点\模板\ A_2 \ HTML \ modules.php on line 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($样式[$风格],$模块,$ PARAMS,$ attribs);

+2

可能的重复[为什么错误“预计是参考,给定的值”出现?](http://stackoverflow.com/questions/3637164/why-does-the-error-expected-to -be-a-reference-value-given-appear) – user4035

+0

不,它不是。我已经通过这个链接超过三次 –

+0

你是否尝试将'call_user_func'改为'call_user_func_array'? – user4035

回答

2

尝试以下方法,它会解决你的问题

转到模块 - >高级 - >模块样式 - >更改 “继承” 到相应位置的样式。 (例如:选择艺术nostyle,艺术块等),在这种情况下 你不必按比例缩小的PHP版本

*****它应该在的Joomla管理员打开,然后做以上步骤

+0

哇!非常感谢它解决了我的问题:-) –