2013-09-30 69 views
1

我有一个Joomla模板,它不在我的一个页面上显示模块。该模块已发布并分配给常规发布的菜单项。Joomla页面上没有显示的模块(常规菜单项)

经过一番研究,我发现这个问题可能是由于模板的叠加。这里是我的module.php文件......这里有什么会导致模块不显示在特定页面上?

感谢,

<?php 
defined('_JEXEC') or die; 

function modChrome_themeHtml5($module, &$params, &$attribs) { 
    $moduleTag  = $params->get('module_tag'); 
    $headerTag  = htmlspecialchars($params->get('header_tag')); 
    $headerClass = $params->get('header_class'); 
    $bootstrapSize = $params->get('bootstrap_size'); 
    $moduleClass = !empty($bootstrapSize) ? ' span' . (int) $bootstrapSize . '' : ''; 
    $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx')); 

    if (!empty ($module->content)){ 
     $html = "<{$moduleTag} class=\"moduletable {$moduleClassSfx} {$moduleClass}\">"; 

     if ((bool) $module->showtitle){ 
      $html .= "<{$headerTag} class=\"moduleTitle {$headerClass}\">{$module->title}  </{$headerTag}>"; 
     } 

     $html .= $module->content; 
     $html .= "</{$moduleTag}>"; 

     echo $html; 
    } 
} 


function modChrome_html5nosize($module, &$params, &$attribs){ 
    $moduleTag  = $params->get('module_tag'); 
    $headerTag  = htmlspecialchars($params->get('header_tag')); 
    $headerClass = $params->get('header_class'); 
    $bootstrapSize = $params->get('bootstrap_size'); 
    //$moduleClass = !empty($bootstrapSize) ? ' span' . (int) $bootstrapSize . '' : ''; 
    $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx')); 

    if (!empty ($module->content)){ 
     $html = "<{$moduleTag} class=\"moduletable {$moduleClassSfx}\">"; 

     if ((bool) $module->showtitle){ 
      $html .= "<{$headerTag} class=\"moduleTitle {$headerClass}\">{$module->title}</{$headerTag}>"; 
     } 

     $html .= $module->content; 
     $html .= "</{$moduleTag}>"; 

     echo $html; 
    } 
} 



function modChrome_modal($module, &$params, &$attribs){ 
    $moduleTag  = $params->get('module_tag'); 
    $headerTag  = htmlspecialchars($params->get('header_tag')); 
    $headerClass = $params->get('header_class'); 
    $bootstrapSize = $params->get('bootstrap_size'); 
    // $moduleClass = !empty($bootstrapSize) ? ' span' . (int) $bootstrapSize . '' : ''; 
    $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx')); 

    if (!empty ($module->content)){ 
     $html = "<div class=\"modal fade moduletable {$moduleClassSfx} loginPopup\" id=\"modal\">"; 
     $html .= "<button type=\"button\" class=\"close modalClose\">×</button>"; 

     if ((bool) $module->showtitle){ 
      $html .= "<div class=\"modal-header\">"; 
      $html .= "<{$headerTag} class=\"{$headerClass}\">{$module->title}</{$headerTag}>"; 
      $html .= "</div>"; 
     } 

     $html .= "<div class=\"modal-body\">"; 
     $html .= $module->content; 
     $html .= "</div>"; 

     $html .= "</{$moduleTag}>"; 

     echo $html; 
    } 
} 

回答

2

这可能是如果(!empty ($module->content))

我们不能从只盯着代码,以便确认。尝试通过逐个注释掉函数中的代码来自行调试它,并查看问题出现在哪个函数中。这是最简单和最快的方式。

相关问题