1

CodeIgniter で e コマース サイトのアフィリエイト システムを設計していますが、最適なアプローチは何かを考えています。

アフィリエイトがウェブサイトのすべてのページにリンクできるようにしたい.

理想的には、アフィリエイトは私のウェブサイトで目的のリンクをコピーし、識別サフィックスを追加して、それを紹介リンクとして使用します.

/ref/ref_idアフィリエイトにすべてのリンクに接尾辞を追加し、それをヘッダー (つまり、すべてのページ) で使用して、結果の配列で$this->uri->uri_to_assoc(n)ペアを探すように指示すると思いました。'ref' => 'ref_id'

問題は、一部のページの uri に偶数のセグメントがあり、他のページのセグメントの数が奇数であることです。

したがって、次のようにmywebsite.com/item/item_id/ref/ref_idなります。

array
  'item' => 'item_id' 
  'ref' => 'ref_id' 

これは素晴らしいことです。しかし、mywebsite.com/aboutus/ref/ref_id次のようになります。

array
 'aboutus' => 'ref'
 'ref_id' => false

これはあまり役に立ちません。

また、ホーム コントローラーに機能mywebsite.com/ref/ref_idがないため、404 ページが見つからないため、ホームページ自体 ( ) でこの構文を使用することはできません。ref

私が考えたもう 1 つのオプションは、クエリ文字列 ( mywebsite.com/about?ref=ref_id) を使用することでしたが、それはあまり CodeIgniter らしくありませんね。

では、これを実装する最良の方法は何でしょうか?

4

1 に答える 1

2

私は CodeIgniter のアフィリエイト サイトで作業しましたが、最も簡単な方法は次のとおりです。

http://mywebsite.com/ref/ref_id?url=whateverorthesame.com/aboutus

次に、controllers/ref.phpに基づいて Cookie を保存しref_id(これにはルーティングを使用する必要がある場合があります)、単純にそれらを にリダイレクトします$this->input->get('url')。これで、魔法のようにそれらを他のサイトにもリダイレクトできます! :)

URL をテキスト フィールドに入力し、ajax を介して入力するだけです。

<script type="text/javascript">
    // jQuery dependent
    $('input#url').bind('change', function() {
        $('div#copy_box').text('<?=base_url()?>ref/<?=$user->id?>?url='+encodeURIComponent($(this).val()));
    });
</script>

生成された文字列をコピーするように促すテキストを用意するだけです。

複雑にする必要はありません。

于 2013-04-26T08:41:28.930 に答える