Как загрузить CSS в CodeIgniter? - PullRequest
       2

Как загрузить CSS в CodeIgniter?

1 голос
/ 19 октября 2010

Я новичок в программировании.Я хочу получить CSS, сохраненный в БД, и загрузить в файл php.Я использую CodeIgniter.После загрузки CSS, я хочу, чтобы ссылка на него как внешний CSS.Я попробовал следующее, но это не работает.

РЕДАКТИРОВАТЬ: defaultCss.php это файл, в котором я хочу загрузить CSS.

$strTemplate.="<link rel='stylesheet' type='text/css' href='".base_url()."user/defaultCss.php'>"

Хотя,Я просматриваю исходный код страницы, который выдает ошибку «Страница не найдена».

Ниже приведены мой контроллер и код просмотра.

     function loadDefaultCSS(){
     $this->load->model('UserModel');
     $this->UserModel->loadDefaultCSS(); 
     }

Просмотр:

        if(isset($strTemplateStyles) && $strTemplateStyles!="") {
        echo $strTemplateStyles;
        }

Функция модели:

     function loadDefaultCSS($strTemplateStyles){
      $data['strTemplateStyles']=$strTemplateStyles;          
      }

Почему это не работает?в чем проблема?

Ответы [ 4 ]

6 голосов
/ 19 октября 2010

Вы можете использовать библиотеку шаблонов для codeigniter.

Обеспечивает большую гибкость для обработки представлений, загрузки файлов js и css. Также он предоставляет возможность разбивать представления на такие разделы, как заголовок, содержимое, нижний колонтитул и т. Д. Ссылка на библиотеку шаблонов, которую я предоставил выше, проста в использовании и интеграции. Он также имеет очень хорошую документацию.

В приведенной выше библиотеке шаблонов файлы css и js можно загрузить следующим образом (напишите код ниже в контроллере) -

Для загрузки CSS-файлов -

$this->template->add_css('path to css file');

Для загрузки файлов js -

$this->template->add_js('path to js file');

Для получения подробной документации вы можете обратиться к гиперссылке.

1 голос
/ 02 ноября 2010

Я вижу несколько странных вещей в вашем коде:

  • Вы не должны использовать .php в своих URL-адресах CI
  • Как ваш взгляд может получить стиль пользователякогда вы не передаете его в представление с вашего контроллера?
  • Как вы знаете, к какому пользователю это относится?Я предполагаю, что вы не опубликовали весь свой код?

Что произойдет, если вы действительно откроете созданный вами URL-адрес таблицы стилей?Это бросить 404?Ошибка CI?

1 голос
/ 19 октября 2010

Ну, имя вашего действия контроллера - loadDefaultCSS, поэтому я ожидаю, что URL для сгенерированной таблицы стилей будет: (при условии, что ваш контроллер действительно называется User)

base_url()."user/loadDefaultCSS"

Это работает?:

$strTemplate .= '<link rel="stylesheet" type="text/css"
    href="'.base_url().'"user/loadDefaultCSS">';
0 голосов
/ 03 марта 2016

Лучший способ загрузить css - это передать пути css из контроллера для просмотра и отобразить его из представления в больших приложениях. Мы не рекомендуем загружать все в заголовке, это может вызвать проблемы с производительностью

login_view.php / view

css код

   <?php
    if(!empty($css_files)){
        foreach ($css_files as $css_path) {
        ?>
            <link rel="stylesheet" href="<?php echo $css_path;?>">
            <?php
        }
    }
?>

login.php / controller

$data['css_files'] = array(
base_url('assets/bootstrap/css/bootstrap.min.cs'),
base_url('assets/plugins/iChecksquare/blue.css'),
'https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css');


$this->load->view('login',$data);

та же техника, которую вы можете использовать для библиотек javascript

обратите внимание, что последовательность файлов чувствительна

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...