Need extra help with your Joomla site? Consider paid Joomla support by the developer of Chameleon and MetaMod.
- Index
- » MetaMod Pro
- » MetaMod Pro General Support
- » Hide module - Error loading modules
Hide module - Error loading modules
Hide module - Error loading modules
Hi!
I would like to hide a module when a certain article i viewed in the main window. I found this PHP-code in the recipes-section:
$category_id = null;
if ( $option == "com_content" ) {
if ( $view == "category" ) {
/* category list pages (blog or list style) */
$category_id = (int)$id;
} else if (array_key_exists("catid",$_REQUEST)) {
/* if the category id is in the URL */
$category_id = (int)JRequest::getInt("catid",0);
}
if ( $category_id === null && $view == "article" ) {
/* if it's an article page without the catid mentioned in the url */
$nullDate = $db->Quote( $db->getNullDate() );
$my_id = $db->Quote( $db->getEscaped( (int)$id ) );
$jnow =& JFactory::getDate();
$now = $db->Quote( $db->getEscaped( $jnow->toMySQL() ) );
$query = "SELECT title, id, catid "
. " FROM #__content WHERE id = $my_id AND state = 1"
. " AND ( publish_up = $nullDate "
. " OR publish_up <= $now )"
. " AND ( publish_down = $nullDate "
. " OR publish_down >= $now )";
$db->setQuery( $query, 0, 1 );
$row = $db->loadObject();
$category_id = $row->catid;
}
}
/* Now customise any of the following rules for your use.
* $category_id will correspond to the category id of the
* article being displayed (if one is being displayed!)
*/
if ($category_id == 35) return 51;/* on category 54, return module 0 */
if ($category_id == 54) return 0;/* on category 54, return module 0 */
return 0; /* default if nothing else matches */
Unfortunantly i also need to fill in "quick module or position or id to include" with the module ID, otherwise I get an "error loading modules" mesage.
Re: Hide module - Error loading modules
Hi moddatomas,
if you're getting an error loading modules, then the problem is that you are returning module numbers that don't exist, or are disabled (but you don't have "auto-enable modules" turned on).
For one thing, don't return 0, just do a plain return:
if ($category_id == 35) return 51;/* on category 35, return module 51 */
if ($category_id == 54) return;/* on category 54, return nothing */
return; /* default if nothing else matches */
If module 51 is definitely the right id for the target module, and removing the "0" does not get rid of the error, can you double-check the auto-enabling function? If the target module is disabled, you should set auto-enable to "all" to be on the safe side.
If you've done that and it *still* doesn't work, then try enabling the target module but setting it to a different module position (e.g. right-metamod).
If that still doesn't work, please write back and we'll take it from there.
Best regards,
Stephen
- Index
- » MetaMod Pro
- » MetaMod Pro General Support
- » Hide module - Error loading modules
Board Info
- Board Stats:
- Total Topics:
- 1689
- Total Polls:
- 6
- Total Posts:
- 5943
- Posts this week:
- 2
- User Info:
- Total Users:
- 7639
- Newest User:
- corwin8669
- Members Online:
- 0
- Guests Online:
- 148
- Online:
- There are no members online
Forum Legend:
Topic
New
Locked
Sticky
Active
New/Active
New/Locked
New Sticky
Locked/Active
Active/Sticky
Sticky/Locked
Sticky/Active/Locked