66 votes

La fonction base_url() ne fonctionne pas dans CodeIgniter

Dans mon application web en utilisant codeigniter. J'essaie d'utiliser la fonction base_url() mais elle affiche des résultats vides. J'ai également utilisé l'autoload helper via le fichier d'autoload, mais cela ne semble pas fonctionner non plus. J'avais aussi défini des constantes de base mais tout est vain.

        <?php echo $title; ?>        

            //<![CDATA[
            base_url = '<?= base_url();?>';
            //]]>

0voto

Asraful Haque Points 665

J'ai rencontré ce problème en y passant quelques heures, mais je l'ai résolu de différentes manières. Comme vous pouvez le voir, j'ai simplement créé un dossier assets en dehors du dossier de l'application. Enfin, j'ai lié ma feuille de style dans la section d'en-tête de la page. Les structures de dossiers se trouvent ci-dessous les images.

description de l'image description de l'image

Avant d'agir, vous devez inclure le fichier d'assistance url soit dans votre méthode de classe de contrôleur/__constructeur, soit dans le fichier autoload.php. Modifiez également $config['base_url'] = 'http://votreurl'; dans le fichier suivant application/config/config.php

Si vous l'incluez dans la méthode de classe de contrôleur/__constructeur, cela ressemblera à ceci

public function __construct()
{
    $this->load->helper('url');
}

ou si vous chargez dans le fichier autoload, cela ressemblera à ceci

$autoload['helper'] = array('url'); 

Enfin, ajoutez votre fichier de feuille de style. Vous pouvez lier une feuille de style de différentes manières, en l'incluant à l'intérieur de votre section

->

-> ou

 'assets/css/style.css',
    'rel'        => 'stylesheet',
    'type'       => 'text/css',
    'title'      => 'feuille de style principale',
    'media'      => 'all',
    'index_page' => true
    );

echo link_tag($main); ?>

-> ou

En fin de compte, j'ai obtenu un concept de code plus fiable et plus propre. Créez simplement un fichier de configuration, nommé styles.php dans votre dossier application/config/styles.php. Ensuite, ajoutez quelques liens dans le fichier styles.php qui ressemble à cela

 array(
        'href'       => 'assets/css/style.css',
        'rel'        => 'stylesheet',
        'type'       => 'text/css',
        'title'      => 'feuille de style principale',
        'media'      => 'all',
        'index_page' => true
    )
 );

?>

appelez/ajoutez cette configuration à votre méthode de classe de contrôleur qui ressemble à cela

$this->config->load('styles');
$data['style'] = $this->config->config['style'];

Passez ces données dans votre modèle d'en-tête qui ressemble à cela.

$this->load->view('templates/header', $data);

Et enfin, ajoutez ou liez votre fichier css qui ressemble à cela.

0voto

Vishal Vasoya Points 1

Cette fonction d'accès direct sera chargée uniquement à travers la classe Helper.

Comme URL, Sécurité, Fichier sont tous des Helpers et vous pouvez également charger des Helpers personnalisés.

config/autoload.php

$autoload['helper'] = array('url', 'file', 'authorization', 'custom');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X