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.

19
demandé sur Torez 2009-06-30 01:42:49

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

29
répondu Pedro 2009-06-30 08:30:31

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

7
répondu Colin Brock 2009-06-29 22:00:42

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">
3
répondu Quentin 2009-06-29 21:52:55

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');
3
répondu mc. 2012-08-28 23:18:31

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.

2
répondu Marc Towler 2009-06-29 21:59:32

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.

1
répondu Dane Calderon 2012-10-23 07:44:37

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.

0
répondu NIMISHAN 2016-07-21 05:44:43

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à.

-1
répondu surafel 2013-12-31 00:15:26