2

この問題の解決策を見つけるのに苦労しています。別のビュー内からビューをロードする必要があります。私は、通常、私はただしなければならないことを知っています:

<?php $this->load->view("smthg");?>

ただし、今回は、ファイル パスが data-file タグのプロパティに渡されます。私は持っている :

<a data-file="<?php echo site_url('main/loadCocktailRecipient') ?>/{{Id}}" href="#">

実際、これはJavaScript関数によって使用され、ビューを単独でロードします。そうするときは、ビューファイルの代わりにコントローラーをロードします。(または、何も読み込まない場合もあります) ビューを app/views フォルダーに配置したとします。このスクリプトがコントローラーを必要とせずにこのファイルを実際にロードすることを確認するにはどうすればよいですか?

これが不可能な場合、ファイル自体 (ここでは最初にコントローラーになります) ではなく、CI' controller によって返される最終的なビューを読み込むように js スクリプトを適応させるにはどうすればよいですか?

編集: JS スクリプト:

$(".cocktail .cocktail-item a").on('click', function(event) {

            event.preventDefault();

            var fileToLoad = $(this).data('file');

            if(portfolioActive) {
                closePortfolio(true, fileToLoad);
            } else {
                loadPortfolio(fileToLoad);
            }

        });

負荷ポートフォリオ関数は次のとおりです。

function loadPortfolio(fileToLoad) {
            $portfolioSingle.load(fileToLoad, function() {
                portfolioSingleH = $portfolioSingle.find('.container').outerHeight();
                $portfolioSingle.css({
                    'top': -portfolioSingleH
                });
                $('#portfolio').animate({ scrollTop: 0 }, "slow");
                $portfolioSingle.stop().animate({
                    'top': 0
                }, 500, 'easeOutCubic');
                $portfolioContainer.stop().animate({
                    'marginTop': portfolioSingleH
                });
                portfolioActive = true;
                bindClosePortfolio();
                bindFancybox();
                setupFlexslider();
            });
        }

これが複雑すぎる場合、id でハンドルバー スクリプトを検索し、動的に生成されるコンテンツをロードするように彼に指示するにはどうすればよいでしょうか?

ありがとう

4

1 に答える 1