1

我正在为 CodeIgniter 上的电子商务网站设计一个会员系统,我想知道什么是最好的方法。

我希望附属公司能够链接到网站上的每个页面。

所以理想情况下,附属公司会在我的网站上复制所需的链接,添加一些识别后缀,并将其用作推荐链接。

我想我会指示会员为/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我的主控制器中没有任何功能。

我认为的另一个选项是使用查询字符串 ( mywebsite.com/about?ref=ref_id),但这似乎不是很 CodeIgniterish,不是吗?

那么实现这一点的最佳方法是什么?

4

1 回答 1

2

我在 CodeIgniter 上与一个附属网站合作过,最简单的事情就是:

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

然后在controllers/ref.php 中保存一个基于ref_id(可能要为此使用路由)的 cookie,并将它们简单地重定向到$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 回答