Codeigniter和eric martin simplemodal

时间:2012-08-02 20:54:17

标签: jquery codeigniter modal-dialog simplemodal

我正在尝试将eric martin的simplemodal实现到我的Codeigniter项目中。到目前为止,我所能做到的就是给我一个在Firebug中找不到的404页面。我正在使用模式提醒用户他们正从我的站点重定向到第三方网站。我从我的链接href中获取url以用作模式中的链接,以便用户可以继续。

我的想法是Jquery会抓住/ depart /并使用适当的控制器并将正确的视图加载到模态中。它似乎没有那样工作。 Firebug将响应显示为404.我尝试将自定义路由添加到路径文件以处理许多不同的链接可能性,但这没有任何效果。我该怎么接近这个?

Jquery的

var OSX = {
      container: null,
      init: function () {
          $('.depart').click(function (e) {
              e.preventDefault();
              var myid = $(this).attr('href');
              $.get("/depart/" + encodeURIComponent(myid), function(data){
                  $(data).modal({
                      opacity: 65,
                      overlayClose: true,
                      onOpen: OSX.open
                  });
              });
          });
      },
      open: function (d) {
          var self = this;
          self.container = d.container[0];
          d.overlay.fadeIn('slow', function () {
              $("#depart", self.container).show();
              d.container.fadeIn('slow', function () {
                  d.data.fadeIn('slow');
              });
          });
      }
  };
  OSX.init();
});

链接     

a class="depart" href="http://www.newwebsite.com"

2 个答案:

答案 0 :(得分:0)

以下是我在所有我的codeigniter项目https://github.com/sirfilip/ci/blob/master/assets/js/init.js中使用的内容。我只需通过javascript访问网址,就像我使用codeiniger一样。意思是如果我想访问控制器和动作我做url:CI.site_url('controller / action')如果我想访问基本URL我做CI.base_url('某些图像的路径')。像魅力一样。

答案 1 :(得分:0)

所以,这就是我提出的似乎有效的方法。我更新了jQuery .get以包含url =参数。然后让Codeigniter在控制器中获取该变量。如果设置了变量并且数据库中存在链接,则用户可以通过单击链接继续退出该站点。

的jQuery

$.get("/depart/?url=" + encodeURIComponent(myid), function(data){

控制器索引方法

$url = $this->input->get('url');
$this->data['continue'] = isset($url]) && $this->links_model->check_link($url) == TRUE ? '<a href="'.$url.'">Continue</a>' : '<a href="">Continue</a>'; 

这个stackoverflow问题帮助我找到了自己的方式, Passing URL in Codeigniter URL segment