Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Customising the theme user menu: Difference between revisions

From MoodleDocs
(Add page for MDL-50839)
 
m (Added link to spanish translation of page)
Line 36: Line 36:


[[Category:Themes]]
[[Category:Themes]]
[[es:Personalizando el menú de usuario del tema]]

Revision as of 15:57, 1 November 2015

Moodle 3.0


As of 3.0, the user menu can be customised via an array of options, when it is called via user_get_user_navigation_info().

Initially, only the size of the user's avatar picture can be changed (from the default of 35px square), using the avatarsize key with a new size.

user_get_user_navigation_info($user, $this->page, array('avatarsize' => 85));

Unfortunately, to change the one line that calls user_get_user_navigation_info(), the whole of core_renderer::user_menu() must be overridden:

In /themes/<yourtheme>/renderers.lib... public function user_menu($user = null, $withlinks = null, $loginlogo = null) {

   // Lots of code copied from lib/outputrenderers.php...
   // Get some navigation opts.
   $opts = user_get_user_navigation_info($user, $this->page, array('avatarsize' => 85));
   $avatarclasses = "avatars";
   $avatarcontents = html_writer::span($opts->metadata['useravatar'], 'avatar current');
   $usertextcontents = $opts->metadata['userfullname'];
   // Lots more code copied from lib/outputrenderers.php...

}

NB: The image size in the browser may be enforced via CSS, with the pixel size of the image rounded up to one of a few hard-coded sizes - see MDL-50420.

See also