Przycisk Google +1 w skrypcie MediaWiki

Ostatnio postawiłem dwie encyklopedie na skrypcie MediaWiki. Polubiłem już dawno temu edytowanie artykułów za pomocą WikiTextu, ale przede wszystkim podoba mi się koncepcja linkowania pomiędzy tymi artykułami.

Gdyby nie funkcja “najbardziej potrzebne strony”, tworzenie nowych artykułów na Wiki nie byłoby takie fajne. A tymczasem mogę sobie spokojnie pisać nowe artykuły, tworzyć puste odnośniki do tych, których jeszcze nie ma, a potem spokojnie stworzyć te, do których linkuje najwięcej istniejących artykułów.

W każdym razie postawiłem ostatnio Encyklopedię Nowoczesnego Survivalu dla bloga o survivalu, który administruję (i na którym czasem publikuję wpisy). No i zachciało mi się dodać tam przycisk +1 od Google. Nie wiedziałem jak, nie było gotowego skryptu (tzn. było rozszerzenie, ale $2 trzeba było dopisać), musiałem więc zrobić to samodzielnie.

Jak to zrobić?

Otwieramy plik odpowiedzialny za wyświetlanie szablonu. Domyślnie jest to plik MonoBook.php albo Vector.php w katalogu /skins/. Jeśli nie wiesz, który plik otworzyć, otwórz w katalogu głównym plik LocalSettings.php i znajdź tam linię, która wygląda podobnie do tej:

$wgDefaultSkin = “vector”;

Ta linia definiuje, która ze skórek jest domyślna. W tym przypadku jest to skórka o nazwie Vector.

Otwórz więc ten odpowiedni plik ze skórką. Trzeba znaleźć w nim dwa miejsca — pierwsze, w którym wstawimy przycisk i drugie, przed samym zamykającym tagiem </body>.

Ja chciałem dodać przycisk zaraz za tytułem artykułu, odszukałem więc fragment

<h1 id=”firstHeading”><?php $this->html( ‘title’ ) ?></h1>

i zamieniłem go na

<h1 id=”firstHeading”><?php $this->html( ‘title’ ) ?><!– Umieść ten tag w miejscu, gdzie ma pojawić się przycisk +1 –>
<g:plusone></g:plusone></h1>

Tym sposobem zaraz za tytułem strony pojawia się przycisk.

Potem odszukałem zamykające tagi

</body>
</html>

i przed nimi umieściłem odpowiedni kod, przez co ta część teraz wygląda tak:

<!– Umieść ten tag w sekcji head lub bezpośrednio przed zamknięciem tagu body. –>
<script type=”text/javascript” src=”https://apis.google.com/js/plusone.js”>
{lang: ‘pl’}
</script>
</body>
</html>

I to cała filozofia.

Aha, może nie cała… MediaWiki ma automatycznie wbudowane cache’owanie, więc nie zawsze może być widać wszystkie zmiany od razu.

This entry was posted on Friday, July 22nd, 2011 at 7:22 pm and is filed under pozostałe. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply