A8.net、複数広告からランダムに一個表示 - PHP編

謎のプリン語る。
プログラミングの役立つ情報とか、どうでもいい雑談とか書いてます。
一人書く人増えました。

A8.net、複数広告からランダムに一個表示 - PHP編

みやびプリン 500 316

500 320

A8.net、複数広告からランダムに一個表示 - PHP編 - サムネイル

※この記事は6年以上前の記事です。
現在は状況が異なる可能性がありますのでご注意ください。

どうも、やっぱり駐車場が見つからないみやびです。
札幌の中央区マジで見つからん、というかどこも空いてない・・・。

さて表記の件。
当サイトでもやっと、A8.net導入できました。
いや、これいいですわ。
ほんとに。どこ行っても、A8.netの名がでてくる理由がわかった気がする。
その自由度たるや。
もしかしたら、高度なコーディングやる人向けなのかもしれない。
(実は、アカウント自体はもっていたのだが、やり方がわからず、放置していた・・・。)

A8.netとは、まぁいわゆるアフィリエイトサイトです。
【アフィリエイトA8.net】日本最大級の広告数・サイト数のアフィリエイトサービス

さて、今回は、
複数のA8.net広告をランダムに表示する、ってのをやってみようと思う。
PHP編です。
JSでもやれるのでそのうちね。

下記のようなPHPファイルを用意する。

<?php

class AffiliateSingleStruct {
  // 各広告単体の構造を定義したクラス
  // 各プロパティ定義
  public $title;
  public $link;
  public $imageMainUrl;
  public $imageDotUrl;
  public $width;
  public $height;

  /**
   * コンストラクタ
   */
  public function __construct( $title, $link, $imageUrl, $dotUrl, $width, $height) {
    $this->title = $title;
    $this->link = $link;
    $this->imageMainUrl = $imageUrl;
    $this->imageDotUrl = $dotUrl;
    $this->width = $width;
    $this->height = $height;
  }
}

class AffiliateRondomizerView {
  // アフィリエイトの元リンク
  private static $BASE_URL = 'https://px.a8.net/svt/ejp?a8mat=';

  // アフィリエイトリストから一件ランダムで抽出し、表示するメソッド
  public static function viewAffList() {
    echo self::setViewAff();
  }

  // アフィリエイト一覧を生成し、一件返すメソッド
  private static function setViewAff() {
    $usedArr = array();
    // 下記の要領で各広告を定義していく
    $usedArr[] = new AffiliateSingleStruct('広告のタイトル', 'メインのリンクの、変動する部分', 'メインの画像のURL', '1pxの計測用の画像のURL', 広告の横幅数値, 広告の縦幅数値);
    // ........

    return self::selectAff($usedArr);
  }

  // 配列から、一個抽出し、タグ文字列を返す
  private static function selectAff($setArr) {
    // 配列の個数を最高値に、ランダムの数値をとる
    $setNo = array_rand($setArr, 1);
    // 表示する広告のデータを変数に
    $usedAff = $setArr[$setNo];
    // HTMLタグに起こしていく
    $ret = '<a href="' . self::$BASE_URL . $usedAff->link . '" target="_blank" rel="nofollow" style="display: block;">';
    $ret .= '<img width="' . $usedAff->width . '" height="' . $usedAff->height . '" alt="' . $usedAff->title . ' - メイン" src="' . $usedAff->imageMainUrl . '" style="display: block;"></a>';
    $ret .= '<img width="1" height="1" alt="' . $usedAff->title . ' - 計測" src="' . $usedAff->imageDotUrl . '" style="display: block;">';

    return $ret;
  }
}

39行目をコピーして、各広告を追加していく。

んで、使い方。

<?php require_once('サーバールートからのパス/AffiliateRondomizerView.php');
AffiliateRondomizerView::viewAffList(); ?>

これで、複数広告の中から一個ランダムに表示することができる。

A8.netの場合、最初から複数広告のウィジェットがあるとかそういうのはないが、
一個一個単体であるから、こうやっていくらでもカスタマイズして表示することができる。

やっぱり、全部自動じゃなくて、自分で操作できるほうがいいよ。
A8.net、マジでおすすめです!

トラックバック(0)

トラックバックURL:

コメントする

ページトップへ戻る