模块未显示在Joomla页面上(常规菜单项)

时间:2013-09-30 14:13:48

标签: php joomla module

我有一个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;
    }
}

1 个答案:

答案 0 :(得分:2)

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

我们不能只看到代码就这么肯定。尝试通过逐个注释掉函数内部的代码来自己调试,并查看问题发生的函数。这是最简单,最快捷的方式。