この問題の解決策を見つけるのに苦労しています。別のビュー内からビューをロードする必要があります。私は、通常、私はただしなければならないことを知っています:
<?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 でハンドルバー スクリプトを検索し、動的に生成されるコンテンツをロードするように彼に指示するにはどうすればよいでしょうか?
ありがとう