×
Create a new article
Write your page title here:
We currently have 3,188 articles on s23. Type your article name above or create one of the articles listed here!



    s23
    3,188Articles

    MediaWiki/variable logos


    Q[edit]

    Hello, I have recently customize a style sheet for my wiki, and would love to be able to change out the logo dependant on some property set on the page, the category perhaps. However I have no idea how to do this, and lack the programming skills to try. If anyone knows how to do this, I would be willing to pay (via paypal) anyone that knows how to do this.

    My email address is lara@sanctuaryshard.com, please include the cost in your email, and here is the wiki: http://www.sanctuaryshard.com/wiki/index.php?title=Main_Page

    A[edit]

    Hi, i have implemented a simple version of your requested feature. check out this: Go to a page on this wiki in Category:GNU, you should see a GNU head appearing in our logo, unlike on other pages. Also try pages in Category:ASCII. Those are just random examples. Source code changes i made follow:

    go to /var/www/w/skins/MonoBook.php:

    around line 138 find the part that says

     <div class="portlet" id="p-logo">
    
     ...
    
     </div>
    

    In between these tags, replace the existing code with something like:

    if (ereg ("GNU",$this->data['catlinks'])) { ?>
    <a style="background-image: url(http://s23.org/w/skins/common/images/wiki-gnu.png);" href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>" title="<?php $this->msg('mainpage') ?>"></a>
    
    <?php } elseif (ereg ("ASCII",$this->data['catlinks'])){ ?>
    
    <a style="background-image: url(http://s23.org/w/skins/common/images/wiki-ascii.png);" href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>" title="<?php $this->msg('mainpage') ?>"></a>
    
    <?php } else { ?>
    
    <a style="background-image: url(<?php $this->text('logopath') ?>);" href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>" title="<?php $this->msg('mainpage') ?>"></a>
    

    explanation:[edit]

    if (ereg ("GNU",$this->data['catlinks'])) ...
    if the category links contain "GNU"
    <a style="background-image: url(http://s23.org/w/skins/common/images/wiki-gnu.png) ..
    set the logo to wiki-gnu.png ..
    elseif (ereg ("ASCII",$this->data['catlinks']))..
    if the category links contain "ASCII"..
    <a style="background-image: url(http://s23.org/w/skins/common/images/wiki-ascii.png) ..
    set the logo to wiki-ascii.png ..

    ...

    } else {

    if nothing matched until now...

    <a style="background-image: url(<?php $this->text('logopath') ?>)

    set to default logopath from LocalSettings.php.

    You need to customize[edit]

    You need to change the URLs to your server and the keywords to your desired categories. You can add more "elseif" lines for other categories you want.

    The price shall be a volunatary donation to our Wiki. (or, if you have work lets say the equivalent of what you get for 2 hours of your work in your location).


    Thank you[edit]

    This worked, Much appreciated. A donation has been made.

    Thanks, it has arrived and is much appreciated. mutante 11:09, 23 April 2006 (CEST)

    Cookies help us deliver our services. By using our services, you agree to our use of cookies.
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.