web-dev-qa-db-ja.com

CodeIgniter-CSSの読み込み

Webソリューション用のカスタムAPIを開発しており、MVCデザインパターンを使用しています。私はモジュールフォルダーを持っているので、モジュールのインとアウトを入れ替えたり、テスト済みのコードを中断することなくセクションで作業したりできます。私の唯一の問題は、CSSをどこにでもロードし、アプリケーションにヘッドタグ内のcssファイルを適切にインポートさせることです。 CodeIgniterがこれを行うことは知っていますが、方法がわかりません。

PHPを使用して、CSSファイルをどこにロードし、CodeIgniterが行うように、ヘッドタグ内のcssをコードに適切にインポートする方法を教えてください。

前もって感謝します。

21
Torez

一度に複数のビュー、または他のビュー内のビューをロードできます。

したがって、この場合は、ヘッダービューを1つ作成することをお勧めしますすべてのcssおよびjsファイルをロードします

例:

<html>
<head>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
    <link rel="stylesheet" href="<?php echo base_url();?>css/moorainbow.css" type="text/css" media="screen"/>
    </head>
    <body>

そしてそれを次のように呼び出します:

$this->load->view('header');
$this->load->view('view1');
$this->load->view('view2');

この方法で、1つのファイルにロードするファイル(css + js + etc)を制御できます。

Regrads、
ペドロ
@ pcamacho

31
Pedro

あなたの質問は私には少し不明瞭ですが、私はあなたを助けるために最善を尽くします。ビューにCSSファイルを含める方法を単に疑問に思っていますか?その場合は、以下を使用してください。

<style> @import url('/css/styles.css'); </style>

CSSフォルダーがCodeIgniterプロジェクトのルートにある場合は、CodeIgniterのbase_url()関数を使用して、次のようにすることができます。

<style> @import url('<?=base_url()?>/css/styles.css'); </style>

これにより、ページの移植性が維持され、正しい絶対URLが提供されます。お役に立てれば!そうでない場合は、質問をもう少し具体的にしてみてください

7
Colin Brock

絶対的な…

<link rel="stylesheet" type="text/css" href="http://example.com/style/css">

…またはルート相対URI。

<link rel="stylesheet" type="text/css" href="/style/css">
3
Quentin

また、.htaccessファイルのURLをリダイレクトしていないことを確認し、CSSを許可します

。htaccessファイル

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

ヘッダーテンプレートに追加したものもここにあります

$this->load->helper("url");
echo link_tag(base_url().'css/styles.css');
3
mc.

あなたは私と同じようにすることができます、あなたのビューファイルで次のことをしてください

<link rel="stylesheet" href="{pathToApp}/styles/main.css" type="text/css" media="screen" />

(アプリケーションディレクトリにスタイルフォルダーを作成した後)コントローラーで、これを渡します。

$path = '../system/application';

load-> viewを使用してビューをロードしている場合は、配列に2番目のパラメーターとして配列を送信します。{pathToApp}を$ array ['path']に変更する必要があります($ arrayを呼び出したものに変更します)。 CodeIgniterの組み込みテンプレートシステムを使用している場合は、準備は完了です。少なくともこの方法では、サイトを移行するときに絶対URLを変更する必要はありません。

2
Marc Towler

私が気付いた重要なことの1つは、.htaccessのRewriteCondがファイルタイプではなくフォルダを参照していることです。つまり、_|css|_をそこに配置しても、スタイルシートが/ css /フォルダーにない限り、ジャックは機能しません。実際のフォルダをリストします。つまり、_|styles|_または_|scripts|_などです。その後、その後にのみ"<?=base_url()?>styles/style.css"(たとえば)が表示されます。これを理解するのに約2日かかったので、これを読んで誰かの髪と高血圧を救うことを願っています。

1
Dane Calderon

まず、コントローラー関数を作成し、CodeigniterでCSSを呼び出すためのHTMLヘルパーを読み込みます。

サンプルコード

<?php 
class Home extends CI_Controller{

    public function helper(){
        $this->load->helper('html');    
        $this->load->helper('url'); 
        $this->load->view('index');

    }
}
?>

次に、link_tagキーワードを使用してcssファイルを呼び出します。のindex.phpファイルにあるこのようなもの

<html>
<head>
    <title></title>
     <?php echo link_tag('css/moorainbow.css');?>
</head>
<body>
<?php 
.....
?>
</body>
</html>

ここで、css/はmoorainbow.cssファイルを含むフォルダーです。

0
NIMISHAN