Webソリューション用のカスタムAPIを開発しており、MVCデザインパターンを使用しています。私はモジュールフォルダーを持っているので、モジュールのインとアウトを入れ替えたり、テスト済みのコードを中断することなくセクションで作業したりできます。私の唯一の問題は、CSSをどこにでもロードし、アプリケーションにヘッドタグ内のcssファイルを適切にインポートさせることです。 CodeIgniterがこれを行うことは知っていますが、方法がわかりません。
PHPを使用して、CSSファイルをどこにロードし、CodeIgniterが行うように、ヘッドタグ内のcssをコードに適切にインポートする方法を教えてください。
前もって感謝します。
一度に複数のビュー、または他のビュー内のビューをロードできます。
したがって、この場合は、ヘッダービューを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
あなたの質問は私には少し不明瞭ですが、私はあなたを助けるために最善を尽くします。ビューにCSSファイルを含める方法を単に疑問に思っていますか?その場合は、以下を使用してください。
<style> @import url('/css/styles.css'); </style>
CSSフォルダーがCodeIgniterプロジェクトのルートにある場合は、CodeIgniterのbase_url()関数を使用して、次のようにすることができます。
<style> @import url('<?=base_url()?>/css/styles.css'); </style>
これにより、ページの移植性が維持され、正しい絶対URLが提供されます。お役に立てれば!そうでない場合は、質問をもう少し具体的にしてみてください
絶対的な…
<link rel="stylesheet" type="text/css" href="http://example.com/style/css">
…またはルート相対URI。
<link rel="stylesheet" type="text/css" href="/style/css">
また、.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');
あなたは私と同じようにすることができます、あなたのビューファイルで次のことをしてください
<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を変更する必要はありません。
私が気付いた重要なことの1つは、.htaccessのRewriteCondがファイルタイプではなくフォルダを参照していることです。つまり、_|css|
_をそこに配置しても、スタイルシートが/ css /フォルダーにない限り、ジャックは機能しません。実際のフォルダをリストします。つまり、_|styles|
_または_|scripts|
_などです。その後、その後にのみ"<?=base_url()?>styles/style.css"
(たとえば)が表示されます。これを理解するのに約2日かかったので、これを読んで誰かの髪と高血圧を救うことを願っています。
まず、コントローラー関数を作成し、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ファイルを含むフォルダーです。