On Thu, Mar 6, 2014 at 10:20 AM, Alastair Sherringham <
alastair(a)sherringham.net> wrote:
Hello,
I have recently installed MediaWiki 1.22.3 and hope to use it to host
some documentation. I like the Vector skin and have been using
Common.css to add some local styling. All looks great so far and I am
very impressed with Mediawiki.
But I would really like to be able to add a "banner" (or menu etc.) to
the top of the site, before any standard elements (or possibly sit
behind them). I would also like to have a basic idea on changing a few
skin elements perhaps. I have little PHP experience (but some other
programming languages) so my difficulties are probably stupid and/or
basic.
Following Daniel Friesen's "subskin" tutorial (thanks Daniel!) :
http://blog.redwerks.org/2012/02/28/mediawiki-subskin-tutorial/
My site is now using my own skin "Zed Docs". Or so it seems to be - it
is identical to Vector at the moment.
However, I can't seem to figure out how to insert any changes in my skin
and have them picked up.
I have taken the very basic PHP skin file I created following the
tutorial :
ZedDocs.skin.php :
require_once( dirname( __FILE__ ) . '/../Vector.php' );
class SkinZedDocs extends SkinVector {
var $skinname = 'zeddocs', $stylename = 'zeddocs';
function setupSkinUserCss( OutputPage $out ){
parent::setupSkinUserCss( $out );
$out->addModuleStyles( "skins.zeddocs" );
}
}
and copied much of the rest of the Vector.pnp code below it, changing :
class VectorTemplate extends BaseTemplate {
...
to :
class ZedDocsTemplate extends VectorTemplate {
...
(is this correct?)
I don't think this step is correct. To accomplish a similar end result to
what you're looking for, I did basically the same as you in that I created
a subskin based on the Vector skin. I did two things differently to get a
header on my new subskin.
1. Following the php code in myskin.skin.php I simply pasted the HTML for
my header.
2. I added the CSS to style the header html to screen.css and added a call
to screen.css right after the addModuleStyles statement in the PHP above
with:
$out->addStyle( 'myskin/css/screen.css', 'screen');
I suspect there's a better way to do this, but for now, it's working for me.
I also had to tweak the CSS to make my header fit correctly on the screen
within the framework of the inherited Vector skin styling. I accomplished
this using Firebug to play with the layout and then editing the CSS by hand
afterward.
Then inside this, the whole of the "execute"
function :
public function execute() {
...
But nothing I add or modify inside the "execute" function makes any
difference to the page I see e.g. adding anything after :
<div id="mw-page-base" class="noprint"></div>
or anywhere else.
I almost certainly have a fundamental misunderstanding somewhere. No
doubt coupled with my lack of PHP experience (I know I should really
learn more about it).
What am I doing wrong and what do I need to do?
Many thanks for any help or advice.
Cheers,
--
Alastair Sherringham
http://www.sherringham.net
_______________________________________________
MediaWiki-l mailing list
MediaWiki-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l