2013-03-22 80 views
0

PHP數組在笨我有一個觀點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

問候:Jehanzeb

回答

0

後嗯,我解決了這個變量的問題,我覺得這是一個愚蠢的問題。正如我在裏面裝載鑑於page鑑於theme-fonts而不是平行的。我可以簡單地寫我的腳本代碼在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> 
0

您需要將數組傳遞到您的視圖:

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

我建議,而宣佈在控制器的陣列,並將其傳遞到主視圖,這樣的數組將在您加載的所有視圖中可用。

在MVC框架
+0

對不起它是不夠清楚。我想要的與你的建議相反。我想數組'$ font_list'從'主題fonts.php'到'page.php' – 2013-03-22 10:58:38

+0

你爲什麼不以你的控制器聲明數組,然後把它傳遞到主視圖,這樣,這將是可訪問'theme-fonts.php'和'page.php'。我不確定你是如何構造這個的,但是你不能加載'page.php',並期望如果你還沒有聲明數組,它就可以使用。 – mcryan 2013-03-22 11:03:26

0

單例類是可以從任何地方,所以你需要保存你在你的情況下,一些房地產最好的地方是配置對象,

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

read about CI config