在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
中的视图page.php
访问php数组?
问候:Jehanzeb
答案 0 :(得分:0)
您需要将数组传递给您的视图:
<?php $this->load->view('theme-fonts', array('font_list' => $font_list); ?>
我建议在控制器中声明数组并将其传递给主视图,这样数组就可以在你加载的所有视图中使用。
答案 1 :(得分:0)
在MVC框架中,单例类可以从任何地方获得,所以你需要将变量存储到你的情况下的一些属性,最好的位置是配置对象,
$this->config->set_item('item_name', 'item_value');
答案 2 :(得分: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>