10

I'm trying to hide the title of a module.

I have changed the admin setting but the title is still displayed in the front end. In the database, the showtitle field is set to 0.

  • 1
    How are you calling in your modules? Into the index file with: <jdoc:include type="modules" name="left" style="xhtml" />? Or are you using something like No Number's modules anywhere? – Faye Apr 29 '14 at 21:03
  • And what module is it? Something from the core or a 3rd party module? It might just be badly coded. – Brian Peat Apr 29 '14 at 21:07
  • I have had this before; as @toni_marie points out there are several places it is set. There are global options which can the be overridden by individual module settings etc... – tim.baker Apr 29 '14 at 21:22
  • The only place a module gives you title options is in an individual module, there are no global module title toggles and your article / menu item toggles do not apply to your modules. – Faye Apr 29 '14 at 21:26
  • hope you made it sure that you are editing the desired module, ha? – FFrewin Apr 29 '14 at 22:24
6

Check this:

joomlaroot/templates/yourtemplate/html/modules.php

and search for something like this:

if($module->showtitle){echo $module->title;}

Is there only echo $module->title; without the if($module->showtitle){} case then is this probably the soultion.

2

I have experienced this with certain modules, and certain positions in certain templates. It's almost certainly either a) the module ignoring the 'showtitle' parameter, or checking it incorrectly, or b) the template / template framework not pulling the title through. For example, in the Warp framework used by YooTheme (a popular theme provider with its own module rendering chain), the 'logo' position won't render the module title (as they make a guess that you don't want the module title shown above your logo image).

If you update the question with the template and module it'd be easier to investigate.

2

It will depend on which module it is, and how it is rendered. I had this problem with the search module in Joomla 3.3. I hid the title in the backend, but it was still displaying in the front end. I had to do an "output override" to be able to hide the title. I copied the files in modules/mod_search/tmpl to my template (e.g. templates/mytemplate/html/mod_search) and then added code to respect the value of showtitle:

if($module->showtitle=="0")
  $output = ""; 
else
  $output = '<label for="mod-search-searchword" class="element-invisible">' . $label . '</label> ';

Why this is not the case in the core version is beyond me, but I suppose, since it's open source, I could change it myself ...

2

Displaying module titles

< jdoc:include type="modules" name="grid2-2" style="xhtml" />

2

In the module manager under the Advanced tab change the Module Style to html5, or xhtml.

1

Each module allows its title to show or hidden as an option in the module manager.
NOTE: That is the only place to configure it.

The value is stored in the column "showtitle" of "#__modules".
Hopefully this setting is respected by the module and template that renders it.

Joomla core renders the module according to its style. The rendering according to style can be found in (administrator/)templates/$template$/html/modules.php.
Each style has its own function with the prefix modChrome_. Not all styles have code for the title.

Which style is applicable depends on the JDOC in the template and the optional setting for the module.

Also noticed some inconsistent coding: if ((bool) $module->showtitle)
versus if ($module->showtitle)
versus if ($module->showtitle != 0)
that may lead to unexpected results

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.