Codeigniter-Chargement CSS
je développe une API personnalisée pour une solution web et j'utilise le modèle de conception MVC. J'ai un dossier modules de sorte que je peux échanger Dans et hors des modules et aussi travailler sur des sections sans perturber le code testé de travail. Mon seul problème maintenant est que je veux charger CSS n'importe où et avoir mon application importer correctement le fichier css dans l'étiquette de tête. Je sais que CodeIgniter fait ça, mais je ne sais pas comment.
en utilisant PHP, Comment puis-je charger un fichier CSS n'importe où et ensuite avoir le code importer correctement le css dans les étiquettes de tête comme CodeIgniter le fait?
Merci d'avance.
8 réponses
vous pouvez charger plusieurs vues à la fois, ou vues à l'intérieur d'autres vues.
donc dans ce cas je vous recommande de créer une vue d'en-tête où vous chargez tous les fichiers css et js
exemple:
<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>
Et de l'appeler comme ceci:
$this->load->view('header');
$this->load->view('view1');
$this->load->view('view2');
de Cette façon, vous pouvez contrôler les fichiers (css+js+etc) vous chargez dans un seul fichier.
Regrads,
Pedro
@pcamacho
votre question est un peu floue pour moi, mais je ferai de mon mieux pour vous aider. Vous demandez simplement comment inclure un fichier CSS dans vos vues? Si oui, il suffit d'utiliser le code suivant:
<style> @import url('/css/styles.css'); </style>
si votre dossier CSS est à la racine de votre projet CodeIgniter, vous pouvez faire quelque chose comme ça en utilisant la fonction base_url() de CodeIgniter:
<style> @import url('<?=base_url()?>/css/styles.css'); </style>
il s'assurera que vos pages restent portables et ont L'URL absolue correcte. Espérons que cette aide! Si pas, essayez d'être un peu plus précis dans votre question
Utiliser un absolu ...
<link rel="stylesheet" type="text/css" href="http://example.com/style/css">
... ou relatif à la racine de l'URI.
<link rel="stylesheet" type="text/css" href="/style/css">
assurez-vous aussi que vous ne redirigez pas l'url dans le .fichier htaccess, permettre css
.fichier htaccess
RewriteEngine on
RewriteCond !^(index\.php|images|css|robots\.txt)
RewriteRule ^(.*)$ index.php/ [L]
Aussi, voici ce que j'ai ajouté dans mon modèle d'en-tête
$this->load->helper("url");
echo link_tag(base_url().'css/styles.css');
vous pouvez faire la même chose que moi, dans votre fichier view faites ce qui suit
<link rel="stylesheet" href="{pathToApp}/styles/main.css" type="text/css" media="screen" />
(après création d'un dossier styles dans le répertoire de l'application) puis dans votre contrôleur, passer ceci:
$path = '../system/application';
dans un tableau et envoyer le tableau comme second paramètre, si vous utilisez load - > view pour charger votre vue, vous devez changer {pathToApp} en $ array ['path'] (changez $array en quelque chose que vous l'appeliez). Si vous utilisez Codeigniter's construit dans le système de templating alors vous êtes tous définir. Au moins avec cette façon, vous n'aurez pas besoin de changer l'URL absolue lorsque vous migrez votre site.
une chose importante que j'ai réalisé est que la réécriture dans le .htaccess se réfère à des dossiers et non à des types de fichiers. En d'autres termes, mettre |css|
il n'existe pas de faire prise, à moins que vos feuilles de style sont dans l' /css/ dossier. Liste les dossiers réels, de sorte que |styles|
ou |scripts|
ou quoi que ce soit. Alors et seulement alors l'utilisation de "<?=base_url()?>styles/style.css"
(par exemple) s'affichent. Il m'a fallu environ 2 jours de cela, alors j'espère que la lecture de ce sauve quelqu'un quelques cheveux et l'hypertension artérielle.
tout d'abord, vous créez une fonction de contrôleur et chargez le helper HTML pour l'appel css dans Codeigniter.
exemple de code
<?php
class Home extends CI_Controller{
public function helper(){
$this->load->helper('html');
$this->load->helper('url');
$this->load->view('index');
}
}
?>
puis appeler le fichier css en utilisant link_tag
mot-clé. Quelque chose comme ceci dans le index.php
fichier
<html>
<head>
<title></title>
<?php echo link_tag('css/moorainbow.css');?>
</head>
<body>
<?php
.....
?>
</body>
</html>
voici le css/
est le dossier qui contient le moorainbow.fichier css.
faire
<link rel="stylesheet" type="text/css" href="./css/style.css">
<link rel="stylesheet" type="text/css" href="../css/style.css">
mais d'abord créer un dossier css dans le répertoire racine et mettre le style.css là.