2013-10-15 115 views
0

显示或隐藏基于物品量的信息对于一个项目,我的工作,我碰到以下问题的Joomla 2.5:在模块

我有一个基于类加载的文章的模块。我需要使用{loadposition}将这些文章加载到另一篇文章中,其中将加载用于加载该类别文章的模块。

对于每个类别,我都有一个标题和一些文本,然后将带有文章的模块加载。但是,当类别中没有文章时,我会得到标题和文本,但没有相关文章。

我想要的是,当一个类别中没有文章,因此没有文章会显示,我也想隐藏该类别的标题和文本。

我尝试过使用countModules函数,但这不起作用,因为用于加载文章的模块将始终处于活动状态,即使该类别中没有任何文章。有什么办法可以做到这一点?也许可以通过某种方式查看该类别中是否存在任何文章,并根据该节目或隐藏标题和文本?

任何帮助,将不胜感激

回答

0

你能做什么呢,打开后台,并在编辑器中的文章,点击小“HTML”按钮。您将看到您的文章文字和标题将围绕<p>标签。所以,首先,添加一个类它像这样:

<p class="my_module_article">Title of Article</p> 
<p class="my_module_article">Text for article</p> 

然后你的模块如default.php在使用ifelse声明和少许CSS里面,像这样:

$results = "the code you used to get the articles from the category"; 

if ($results) { 
    //code to display the articles 
} 
else { 
    $doc = JFactory::getDocument(); 
    $doc->addStyleDeclaration(".my_module_article { display: none; }"); 
    echo "There are no articles to be displayed"; 
} 

希望这有助于

+0

感谢您的回答!我不太确定如何继续。我使用的模块是Joomla附带的标准新闻快讯模块。我已经查看了模块的代码,但我不确定在哪里放置if语句。我已经将它放在了一些我认为可能有效的地方,但问题是我不知道模块如何或从何处获取某个类别的文章(如果有的话)。很遗憾,我还没有成功,但我会尝试更多 – Zonzio

+0

啊我不知道你使用的是默认的新闻快讯模块。在这种情况下,我会建议在模块的[模板覆盖](http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core)并将代码添加到** default.php **中 – Lodder

+0

我懂了!我做了一个模板覆盖,并与代码有一些争执,但它现在正在工作。非常感谢你的帮助! – Zonzio