Intereting Posts
API подписки Instagram, запрашивающий токен доступа Как эффективно контролировать каталог для изменений в Linux? GoDaddy PHP и общие проблемы с загрузкой файлов Windows Server Можно ли вызвать модель из представления? Как реализовать returnurl как SO в PHP? Должен ли я использовать эхо или печатать в сценариях php? Получение минимальной суммы заказа для метода «Бесплатная доставка» на странице проверки Android Сортировка данных в массивы – ArrayAdapter JSON Listview Отключить быстрый просмотр в PDF-файле Создание нескольких таблиц MySQL с использованием PHP PHP: разделите строку на запятую, но НЕ, когда между скобками или кавычками? INSERT INTO … ON DUPLICATE UPDATE все значения Использование SimpleXML для загрузки удаленного URL-адреса function.session-start отображается на странице входа в действие с другими правильными ссылками, почему так и как проверить сеанс для входа в действие-форму Предупреждение: mysqli_query () ожидает как минимум 2 параметра, 1. Какие?

Codeigniter – правильно импортировать JS / CSS / IMG

Я новичок в обучении MVC и после поиска в базовых материалах нашел несколько мнений по этому вопросу / теме, но у каждого есть разные состояния и инструкции …

Кто-нибудь знает, что лучше всего разместить в файлах активов (js / css / img) в Codeigniter?

Я обнаружил, что некоторые ребята заявили, что они вставляют в папку просмотра, кто-то из webroot (создавая папку с ресурсами), кто-то внутри папки приложения и т. Д., Поэтому я действительно запутался. Действительно ли это зависит от пользователя, который разрабатывает приложение (так что все его по-разному) или для этого существует одно основное правило «следовать правилу»?

Может ли какой-либо эксперт в Codeigniter правильно ответить и объяснить, что лучше всего включить в это, и почему это делается так?

В какой-то мере это доходит до вкуса, но мое скромное предложение состоит в том, чтобы использовать базовый шаблон бутстрапа, за которым следуют многие рамки, а не только codeigniter. Посмотрите, как вы могли бы разместить свой веб-сайт на основе темы ( https://github.com/twbs/bootstrap ), например.

Я не претендую на то, чтобы быть экспертом, но я предлагаю что-то очень простое и понятное для команды:

Структура папок

/ /css /js /application /bower_components ... 

Макет темы

При работе со страницей я не хочу думать о загрузке различных библиотек и содержимого страницы, просто хочу просто работать со страницей. Чтобы сделать это, я разделил содержимое, чтобы загрузить его со следующими вызовами:

 $this->load->view('site/header'); //Load the header and all the appropriate libs $this->load->view('/users/edit', array(' 'record' => $this->User->get($userid); //Work with the actual page ')); $this->load->view('/site/footer'); //Close all the tags 

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

/application/views/site/header.php:

 <html> .... <head> <script src="/js/bootstrap.min.js"></script> <link href="/css/bootstrap.css" rel="stylesheet"> </head> ... <body> <navbar> ... </navbar> <div id="content"> 

/application/view/site/footer.php

  </content> ... closing tags </html> 

Пример репо

См. Пустую настройку репо с бесплатной темой здесь: https://github.com/DesertLynx/blank_CI

Обычно, когда я запускаю новый проект CodeIgniter, я создаю папку с именем public а затем перемещаю туда файл index.php. Делая это, это означает, что приложения и системные папки не находятся на одном уровне.

В моем файле application / config / config.php я добавил base_url

 $config['base_url'] = 'http://exmaple.com/codeigniter/public/"; 

Внутри public папки я создаю папки с именем js , css и images . Поэтому моя структура выглядит так:

  -- application -- system -- public -- css -- js -- images -- index.php 

Затем в моих шаблонах я могу просто включить их, выполнив

 <link rel="stylesheet" href="<?php echo base_url() ?>css/main.css" /> <script type="text/javascript" src="<?php echo base_url() ?>js/main.js"></script> 

Вы определенно не должны размещать общедоступные файлы (таблицы стилей, изображения и т. Д.) В приложениях или системных папках

Я добавил их в файл с именем inc в том же каталоге, что и application , system и user_guide (хотя я удалил user_guide как только он поднялся на сервер).

Убедитесь, что вы установили base_url чтобы упростить его (и автозагрузите загрузчик url !).

Затем, когда я его называю, я использую <?=base_url();?>inc/css/styles.css

 <link rel="stylesheet" href="<?=base_url();?>inc/css/styles.css 

или

 <link rel="stylesheet" href="<?php echo base_url(); ?>inc/css/styles.css 

Мой шаблон будет выглядеть так:

 --application --system --inc -- css -- style.css -- js -- scripts.ks -- images -- logo.png 

одна вещь, которую мне нравится делать, кроме ответов выше, заключается в использовании функции «helper» для загрузки js, css. таким образом, если вы когда-либо меняете местоположение своего статического контента, вам нужно только изменить его в одном месте в вашем коде.

 function css($filename) { return '<link rel="stylesheet" type="text/css" href="' . config_item('base_url') . 'public/' . $filename . '.css">'; } function js($filename) { return '<script type="text/javascript" src="' . config_item('base_url') . 'public/' . $filename . '.js "></script>'; }