0

Codeigniter には、theme-fonts.php別のビューで読み込んでいるビューがありますpage.php

page.php

<?php $this->load->view('theme-fonts'); ?>
<script type="text/javascript">
    try{
        var fontsArray = <?php json_encode($font_list); ?>;
        console.log(fontsArray);
    }catch(err){
        console.log(err.message);
    }
</script>

theme_fonts.php以下は私のファイル内の定義です:

<link href="http://fonts.googleapis.com/css?family=Aclonica" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Michroma" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Paytone+One" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Denk+One" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Wendy+One" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Fjalla+One" rel="stylesheet" />
<?php   
    $font_list = array();
    array_push($font_list,"Aclonica");
    array_push($font_list,"Michroma");
    array_push($font_list,"Paytone+One");
    array_push($font_list,"Denk+One");
    array_push($font_list,"Wendy+One");
    array_push($font_list,"Fjalla+One");
?>

だから私の質問はtheme-fonts.php、メインビューのビューからphp配列にアクセスする方法page.phpですか?

よろしく: ジェハンゼブ

4

3 に答える 3

0

問題を解決した後、それはばかげた質問だったと感じています。theme-fontsビューをビュー内にロードpageしているため、並列ではありません。ビューでスクリプト コードを簡単に記述できtheme-fontsます。これにより、それが私のpageビューに書き込まれます。

page.php

<?php $this->load->view('theme-fonts'); ?>

テーマ-fonts.php

<link href="http://fonts.googleapis.com/css?family=Aclonica" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Michroma" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Paytone+One" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Denk+One" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Wendy+One" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Fjalla+One" rel="stylesheet" />
<?php   
    $font_list = array();
    array_push($font_list,"Aclonica");
    array_push($font_list,"Michroma");
    array_push($font_list,"Paytone+One");
    array_push($font_list,"Denk+One");
    array_push($font_list,"Wendy+One");
    array_push($font_list,"Fjalla+One");
?>
<script type="text/javascript">
    try{
        var fontsArray = <?php print(json_encode($font_list)); ?>;
        console.log(fontsArray);
    }catch(err){
        console.log(err.message);
    }
</script>
于 2013-03-22T11:48:33.483 に答える
0

ビューに配列を渡す必要があります。

<?php $this->load->view('theme-fonts', array('font_list' => $font_list); ?>

コントローラーで配列を宣言してメインビューに渡すことをお勧めします。そうすれば、ロードするすべてのビューで配列を使用できるようになります。

于 2013-03-22T10:52:29.893 に答える
0

MVCフレームワークでは、シングルトンクラスはどこからでも利用できるため、変数をいくつかのプロパティに保存する必要がある場合、最適な場所は構成オブジェクトです。

$this->config->set_item('item_name', 'item_value');

CI構成について読む

于 2013-03-22T10:54:32.813 に答える