Codeigniter从视图中获取php数组
在Codeigniter中,我有一个视图Codeigniter从视图中获取php数组,php,codeigniter,Php,Codeigniter,在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); ?>; consol
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>
所以我的问题是如何从主视图page.php
中的视图theme-fonts.php
访问php数组
注意事项:Jehanzeb您需要将数组传递给视图:
在MVC框架中,singleton类随处可见,因此您需要将变量存储到某个属性中。在您的情况下,最好的位置是config object
$this->config->set_item('item_name', 'item_value');
在我解决了这个问题之后,我觉得这是一个愚蠢的问题。当我在页面内加载主题字体
视图
视图时,不能并行加载。我可以简单地在主题字体
视图中编写脚本代码。这将依次将其写入我的页面
视图
page.php
<?php $this->load->view('theme-fonts'); ?>
<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>
主题字体.php
<?php $this->load->view('theme-fonts'); ?>
<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>
试一试{
var fontsArray=;
控制台日志(fontsArray);
}捕捉(错误){
控制台日志(错误消息);
}
如果不够清楚,很抱歉。我想要的和你建议的正好相反。我想要数组$font\u list
从主题字体.php
到页面.php
为什么不在控制器中声明数组,然后将其传递到主视图,这样它就可以在主题字体.php
和页面.php
中访问。我不确定您是如何构造它的,但是如果您还没有声明数组,就无法加载page.php
,并期望该数组可用。