tutorial español ejemplos php codeigniter

php - español - CodeIgniter-Cargando CSS



codeigniter tutorial 2018 (8)

Estoy desarrollando una API personalizada para una solución web y estoy usando el patrón de diseño MVC. Tengo una carpeta de módulos para poder intercambiar módulos y también trabajar en secciones sin interrumpir el código probado. Mi único problema ahora es que quiero cargar CSS en cualquier lugar y hacer que mi aplicación importe correctamente el archivo css en la etiqueta de cabecera. Sé que CodeIgniter hace esto, pero no estoy seguro de cómo.

Usando PHP, ¿cómo cargo un archivo CSS en cualquier lugar y luego hago que el código importe correctamente el CSS dentro de las etiquetas de encabezado como lo hace CodeIgniter?

Gracias por adelantado.


Su pregunta es un poco confusa para mí, pero haré todo lo posible para ayudar. ¿Simplemente te preguntas cómo incluir un archivo CSS en tus Vistas? Si es así, simplemente use lo siguiente:

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

Si su carpeta CSS está en la raíz de su proyecto CodeIgniter, podría hacer algo como esto usando la función base_url () de CodeIgniter:

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

Garantizará que sus páginas permanezcan portátiles y tengan la URL absoluta correcta. ¡Espero que esto ayude! Si no, intenta ser un poco más específico en tu pregunta


Usa un absoluto ...

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

... o URI relativo a la raíz.

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


puedes hacer lo mismo que yo, en tu archivo de vista haz lo siguiente

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

(después de crear una carpeta de estilos en el directorio de la aplicación), luego en su controlador, pase esto:

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

en una matriz y envíe la matriz como el segundo parámetro; si está utilizando load-> view para cargar su vista, necesita cambiar {pathToApp} a $ array [''path''] (cambiar $ array a lo que usted llamó). Si está utilizando el sistema de creación de plantillas integrado de CodeIgniter, ya está todo listo. Al menos de esta forma, no necesitará cambiar la URL absoluta cuando migre su sitio.


Puede cargar varias vistas a la vez o vistas dentro de otras vistas.

Entonces, en este caso, le recomiendo que cree una vista de encabezado donde cargue todos los archivos css y js

ejemplo:

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

Y llámalo así:

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

De esta forma puede controlar los archivos (css + js + etc) que carga en un solo archivo.

Regrados,
Pedro
@pcamacho


también asegúrese de no estar redirigiendo la url en el archivo .htaccess, permitir css

archivo .htaccess

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

También esto es lo que agregué en mi plantilla de encabezado

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


Una cosa importante de la que me di cuenta es que RewriteCond en .htaccess se refiere a FOLDERS no a FILE TYPES. En otras palabras, poniendo |css| allí no hace jack a menos que sus hojas de estilo estén en la carpeta / css /. Listar las carpetas reales, entonces |styles| o |scripts| o lo que sea. ENTONCES y solo entonces se mostrará "<?=base_url()?>styles/style.css" (por ejemplo). Me tomó alrededor de 2 días resolver esto, así que espero que leer esto le ahorre algo de cabello y presión arterial alta.


hacer esto

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

pero primero crea una carpeta css en el directorio raíz y pon allí style.css.


Primero crea una función de controlador y carga el helper HTML para call css en Codeigniter.

Código de muestra

<?php class Home extends CI_Controller{ public function helper(){ $this->load->helper(''html''); $this->load->helper(''url''); $this->load->view(''index''); } } ?>

Luego, llame al archivo css usando la palabra clave link_tag . Algo así en el archivo index.php en

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

Aquí el css/ es la carpeta que contiene el archivo moorainbow.css.