【问题标题】:Codeigniter equivalent of Zend headscriptZend headscript 的 Codeigniter 等价物
【发布时间】:2012-08-11 03:03:51
【问题描述】:

我试图找出是否有类似于 Zend 中的 codeigniter 的东西,我可以在其中将文件附加到 CSS 之类的页眉区域或 javascript 之类的页脚区域。问题是我找不到任何东西,这意味着要么一个不存在,我必须制作一个(不确定如何准确解决这个问题),或者我正在寻找错误的东西。或者我不知道。这里有人知道吗?

【问题讨论】:

  • Codeigniter 不明确支持模板。但是查看codeigniter template 你会发现一堆东西。
  • 我通常有一个称为模板的视图,每个控制器都会加载该视图。在$data 数组中,我将视图和其他信息传递给它。
  • 不。但是,当您使用跨框架应用程序时,我知道这是一个问题。理想情况下,在 CI 上使用 Zend 库对我有帮助,但从未尝试过 headlink... 您可能想考虑替代方案,我尝试并研究过,浪费了我的时间。
  • 迄今为止,我在 ci 中构建了大部分我认为是不错的模板方法,但最近我已经进入 Zend 我的工作,我喜欢它的功能最终希望为了在 ci 中找到一个比我在页眉和页脚文件中实现的方法更好的类似方法,我有我的全局 CSS 和 js,然后通过控制器中的 aa 数据数组,如果需要,我将唯一文件传递给视图跨度>
  • 也就是说,我已经建立了许多网站,我不想用 Zend 重建这些网站,所以我想如果我去,我会认真对待它们,我可能会做一些优化跨度>

标签: javascript css zend-framework codeigniter


【解决方案1】:

这是我在 CI 项目中通常使用的...

  1. 应用程序/views/v_header.php

        <head>
                <title><?php print $this->config->item('sitename'); if(isset($title)) echo ' - '.$title; ?></title>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                <meta name="generator" content="xxxxxx" />
                <meta name="author" content="Matteo Mattei - www.matteomattei.com"/>
                <meta name="description" content="xxxxxxxxxxxxxxx"/>
                <meta name="robots" content="INDEX,FOLLOW"/>
                <meta name="keywords" content="xxxxx, xxxxx, xxxxx"/>
                <link rel="shortcut icon" href="<?php echo base_url(); ?>images/favicon.ico" />
                <?php
                if(isset($style))
                {
                        if(is_array($style))
                        {
                                foreach($style as $s)
                                        echo '<link rel="stylesheet" href="'.base_url().'css/'.$s.'" type="text/css" media="screen" />';
                        }
                        else
                                echo '<link rel="stylesheet" href="'.base_url().'css/'.$style.'" type="text/css" media="screen" />';
                }
                ?>
                <link rel="stylesheet" href="<?php echo base_url(); ?>css/style.css" type="text/css" media="screen" />
                <?php
                if(isset($jquery) && $jquery===TRUE)
                        echo '<script type="text/javascript" src="'.base_url().'js/jquery-1.7.1.min.js"></script>';
                echo '<script type="text/javascript">';
                echo 'var base_url="'.base_url().'";';
                if(isset($js_variables))
                {
                        foreach($js_variables as $k=>$v)
                        {
                                echo 'var '.$k.'="'.$v.'";';
                        }
                }
                echo '</script>';
                if(isset($js))
                {
                        if(is_array($js))
                        {
                                foreach($js as $j)
                                        echo '<script type="text/javascript" src="'.base_url().'js/'.$j.'"></script>';
                        }
                        else
                                echo '<script type="text/javascript" src="'.base_url().'js/'.$js.'"></script>';
                }
                ?>
        </head>
        <body>
    
  2. 在每个控制器函数中我可以指定自定义 CSS 文件或 JS 文件:

    public function myfunc()
    {
            $data['jquery'] = TRUE;
            $data['js'] = array(
                    'jquery-ui-1.8.16.custom.min.js',
                    'my_special.js',
                    'another_special.js',
            );
            $data['style'] = array(
                    'ui-lightness/jquery-ui-1.8.16.custom.css',
                    'my_custom.css',
            );
    
            $this->load->view('v_header',$data);
            $this->load->view('v_menu',$data);
            $this->load->view('v_dashboard',$data);
            $this->load->view('v_footer',$data);
    }
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 2020-07-24
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    相关资源
    最近更新 更多