MobileFrontendと広告
Tsubopediaで使用しているMediawikiのモバイル用ページを表示するExtensionである「MobileFrontend」へ広告をかなり強引に入れて見ました。ググって出てきたのが過去のバージョン用の記事ばかりで参考にならなかったので、とりあえず表示することを最優先として「美しいコード」からはかなり遠い結果となってしまいましたw 変更するのは、extensions/MobileFrontend/includes/skins/MinervaTemplate.phpです。Mediawiki Version 1.30.0からMinervaの場所が変更となっています。「MinervaNeue」をダウンロードしskinsの下にコピーします。「skins/MinervaNeue/includes/skins/MinervaTemplate.php」にあります。
protected function getContentHtml( $data ) { if ( !$data[ 'unstyledContent' ] ) { $content = Html::openElement( 'div', [ 'id' => 'bodyContent', 'class' => 'content', ] ); $content .= $data[ 'bodytext' ]; if ( isset( $data['subject-page'] ) ) { $content .= $data['subject-page']; } return $content . Html::closeElement( 'div' ); } else { return $data[ 'bodytext' ]; } }
protected function getContentHtml( $data ) { $ads ='<div style="text-align:center;"><span style="font-size:12px;color:#a6a6a6">スポンサーリンク</span> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- ad-290x90 --> <div> <ins class="adsbygoogle" style="display:inline-block;width:290px;height:90px" data-ad-client="ca-pub-97xxxxxxxxxxxxxx" data-ad-slot="99xxxxxxxx"></ins> </div></div> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>'; if ( !$data[ 'unstyledContent' ] ) { $content = Html::openElement( 'div', [ 'id' => 'bodyContent', 'class' => 'content', ] ); $content .= $data[ 'bodytext' ]; if ( isset( $data['subject-page'] ) ) { $content .= $data['subject-page']; } $content .= $ads; return $content . Html::closeElement( 'div' ); } else { return $data[ 'bodytext' ]; } }
この変更でモバイルページでも記事の下部に広告が表示されます。