老问题:如何让模块只在文章列表显示而不在文章页面显示?

我理解模块的Assignment是跟着ItemId走的,我想让某个模块只显示在文章列表上,但是当我点击文章列表其中的一篇文章的时候,该文章页面的ItemId会继承文章列表的ItemId,所以这个模块也会显示在文章页面。根据http://docs.joomla.org/How_to_ ... _item 的解释,要解决这个问题,需要为文章创建一个隐藏的菜单项,这样就可以让文章页面有属于自己的ItemId,就可以进一步控制模块是否在文章页面显示了。但是我这个文章列表里面有几百篇文章,如果为每一篇文章去创建菜单项的话工作量太大了。
几年前碰到这个问题时我曾试过在index.php文件中加入对ItemId参数或者view参数的判断,但这样直接修改index.php文件必经不太好。我也尝试了一下Advanced Module Manager,但是免费版本似乎不提供能解决这个问题的功能。所以我想问问老师和各位大虾,现在3.0时代,对这个问题Joomla核心本身有没有什么好的解决办法?如果没有的话,有没有什
已邀请:

~~~~~~~~~ - 上帝给我的使命,就是证明你们都不是最糟糕的

赞同来自:

Advanced Module Manager 免费版
就可以做到这一点:在它的分配规则里面,“Joomla 文章”一节,第一个“页面类型”参数那里,选择“除外”,然后除外范围选择为“单个文章”就可以了。
要注意的是:必须在最开始的“匹配方式”那里,选择“与”,不能选择“任意”。

刘备曹操 - 古今多少事,都付谈笑中

赞同来自:

知道了。
但是实际上我的文章系统不是joomla的,我用的是k2和另外一个比较小众的文章组件,我在AMM的网站似乎看到要支持k2必须升级到专业版,是这样吗?至于另一个小众的文章组件,要怎么办呢?

孤独者 - 世界属于那些勤于思考的人,更属于那些善于行动的人

赞同来自:

如果你使用的文章系统不是 Joomla 核心自带的 com_content,那么你当然需要购买 Advanced Module Manager Pro 版本,因为 Pro 版本允许按照 URL 规则来自定义分配方案。
用 URL 规则自定义分配方案的话,可以完美解决任何(哪怕是小众或小小众)文章系统的模块分配问题。

~~~~~~~~~ - 上帝给我的使命,就是证明你们都不是最糟糕的

赞同来自:

其实这个和隐藏首页的内容区域原理类似
我曾经写过一篇教程 Joomla隐藏首页文章的多种方法(joomla 1.5)
里面的条件判断语句可以满足你需求,joomla 1.5 - 3.2 都可以使用的
例如: 假设
1、只希望模块显示在k2的文章页面,
2、模块的位置名称为position-4
你可以使用此代码:



3P网络 - 背着回忆的旅游人,即使是再细微的风景,也会留在心中的一个角落~

赞同来自:

谢谢老师和野草的耐心指教,谢谢。

要回复问题请先登录注册