0

ericmartinのsimplemodalをCodeigniterプロジェクトに実装しようとしています。これまでのところ、Firebugにない404ページを提供するだけです。私はモーダルを使用して、ユーザーが自分のサイトからサードパーティのWebサイトにリダイレクトされていることを警告しています。リンク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();
});

リンク

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

4

2 に答える 2

0

これが私のすべてのcodeigniterプロジェクトで使用しているものですhttps://github.com/sirfilip/ci/blob/master/assets/js/init.js。codeinigerで行うのと同じ方法で、javascriptを介してURLにアクセスするだけです。つまり、コントローラーとアクションにアクセスする場合はurl:CI.site_url('controller / action')を実行し、ベースurlにアクセスする場合はCI.base_url('path to some image')を実行します。チャームのように機能します。

于 2012-08-02T23:40:04.257 に答える
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の質問は、CodeigniterURLセグメントでURLを渡すという私の方法を見つけるのに役立ちました

于 2012-08-03T17:16:20.933 に答える