ホームページ・ブログの収益化方法にはいくつかあります。最近はALISやnemlogのように直接収益を獲得するビジネスモデルが出てきましたが、まだまだ広告が主流だと思われます。
広告の一つにグーグルアドセンスがあります。今回は、グーグルアドセンスの表示・非表示をページごとに設定してみます。
※ホームページ作成ソフトには concrete5 を使用します。
<?php
/*
Copyright(C) 2018-2019 Fumito MIZUNO
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php
*/namespace Concrete\Package\OunziwAdsense;
defined('C5_EXECUTE') or die(_("Access Denied."));
use Events;
use View;
use Page;
use Core;
class Controller extends \Concrete\Core\Package\Package {
protected $pkgHandle = 'ounziw_adsense';
protected $appVersionRequired = '8.3';
protected $pkgVersion = '0.8';
public function getPackageDescription() {
return t("Dertermines whether a page outputs Adsense or not.");
}
public function getPackageName() {
return t("Adsense");
}
public function on_start() {
Events::addListener('on_page_view', array($this, 'on_page_view'));
}
public function on_page_view() {
$adsensecode = '
Put Your Adsense Code Here
';
$c = Page::getCurrentPage();
$dh = Core::make('helper/concrete/dashboard');
if ($c->getCollectionPath() != '/login' && $c->getCollectionPath() != '/register' && mb_substr($c->getCollectionPath(),0,8) != '/account' && !$dh->inDashboard()) {
if ($c->getAttribute('no_adsense')) {
// Do not output adsense code.
} else {
$view = View::getInstance();
$view->addHeaderItem($adsensecode);
}
}
}
}
オープンソース(MITライセンス)で公開しています。
前準備が必要になりますのでご注意ください。
1. 「Put Your Adsense Code Here」の部分に、アドセンスのコードを貼る
2. 管理画面で、no_adsenseというページ属性を作る
前準備を行ったら、管理画面でアドセンス表示・非表示の設定が可能になります。↓
no_adsenseにチェックすると、そのページにはアドセンスを表示しなくなります。
実際の例は↓のページをごらんください。