Extension talk:CorrectMainPageTitle
Add topicyou can custom the title
[edit]replace wfMsg('pagetitle-view-mainpage') with a string ( for example: 'My html title for Main Page' ) —The preceding unsigned comment was added by Superxain (talk • contribs) 13:41, 14 September 2010 (UTC). Please sign your posts with ~~~~!
- It's better if you edit the MediaWiki:Pagetitle-view-mainpage system message, because it is intended to be the main page title, but for some reason it doesn't work out-of-the-box without my extension (I've installed MediaWiki in Italian). --VittGam 15:23, 15 September 2010 (UTC)
Error in object to string conversion and quick fix
[edit]VittGam, thank you for the simple yet important extension. This had been an issue at our wiki too, and your extension fixed it. However, your code didn't work for me out-of-the-box. In my enviroment (PHP 5.1.6, MW 1.16.0), the following error was reported and the title did not change:
Notice: Object of class Title could not be converted to int in (...)extensions/CorrectMainPageTitle.php on line 28
The problem was in the line:
if (in_array(strtolower($request->getText('action')),array('','view','print','submit','purge')) && $title==wfMsg('mainpage')) {
I've bolded the relevant part. $title is an object, and wfMsg('mainpage') is a string. [1] So I changed that part to make it work; which is,
$title->getText() == wfMsg('mainpage')
Moreover, people say that you should use "===" or strcmp() when comparing strings [2], so I ended up with
$title->getText() === wfMsg('mainpage')
(Note: This is my first time I've meddled with PHP code, so I'm not sure if I'm doing it right.)
I hope this helps anyone who's having a similar issue. --朝彦 (Asahiko) 07:04, 9 October 2010 (UTC)
- You are right; it works in both ways on my wiki, but your method is the correct one. Thank you for the fix. --VittGam 15:03, 14 October 2010 (UTC)
Fix for extension not functioning when main page is part of a name space
[edit]Hi there! Not sure if this is something that others have run into before, and maybe it's bleeding obvious, but it wasn't to me. :)
Recently i've changed my main page to be part of a custom name space called 'Portal:' (inspired by Memory Alpha). This worked as expected for the most part, but it broke the CorrectMainPageTitle extension.
After some experimentation, i determined this line was at fault:
if (... && $title->getText()==wfMsg('mainpage')) {
The problem was that, although wfMsg('mainpage')
was returning the expected value ('Portal:Main'), this was not matching $title->getText()
. The reason for this is that the output of $title->getText()
does not include the name space (at least for custom ones, apparently) — it only includes the title itself. So instead of getting 'Portal:Main', i was just getting 'Main', which obviously was not working here.
The fix in my particular case was simply to change this to the (name-space-less) title i expected:
if (... && $title->getText() === 'Main') {
However, there is probably a more elegant solution that i'm unaware of (i just don't know that much about MediaWiki's internals). ♥ kine, 08:06, 5 April 2011 (UTC)
- Hi kine,
- Thanks for reporting this bug. According to the MediaWiki code, I think this is the right version, but I don't use MediaWiki anymore, so I can't tell:
if (... && $title->isMainPage()) {
- If you (or someone else) want to try this, feel free to test the fix and report here if it worked for you.
- Bye~ --VittGam 08:34, 5 April 2011 (UTC)
Encoding problems
[edit]When I apply some utf-8 characters (Arabic), I don't get the title correctly set, but instead some unknown characters. When I open the source page, I realize that charset is set afterwards the title tag, not before:
<title>Main Page</title <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
How can this be fixed?--Almuhammedi 14:48, 29 September 2011 (UTC)
- Ok, I think it is my mistake. I should have just modified the Mediawiki:MainPage content.--Almuhammedi 12:50, 12 December 2011 (UTC)