2016-06-23 2 views
1

Я начал работать с CodeIgniter сегодня! Итак, у меня есть два простых вопроса!Файлы изображений, файлы CSS и JS в CodeIgnitter

Вопрос 1 Существует какой-либо способ автоматизировать способ ссылки на изображения в PHP-коде, а не на запись img/mainpage/folder.png everytime?
Могу ли я установить глобальную переменную с указанием пути к файлам img и использовать ее на всех страницах? Пример: set $IMGPATH = '..\img\'. И используйте что-то вроде <img src='$IMGPATH\myimage.png' на всех страницах?

Вопрос 2 Есть какой-либо способ загрузить мои файлы JS и CSS всего за один раз и дать возможность для всех страниц оставаться загруженными JS и CSS-файлами на каждом заголовке страницы?
Как я могу оптимизировать свои CSS и JS-файлы с помощью CodeIgniter и загружать его в ONE TIME, и пусть он доступен для всех страниц?

ответ

0

Вопрос 1:

Вы можете создать класс со статическим элементом, который будет держать путь.

class Path { 
    public static $path = "path/to/directory"; 
} 

Затем в коде вы можете позвонить <img src='<?=Path::$path?>/myimage.png' />

Вопрос 2:

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

<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType text/css "access plus 1 week" 
    ExpiresByType text/javascript "access plus 1 week" 
</IfModule> 

Это означает, что браузер будет загружать CSS и JavaScript файлов из Интернета только один раз, а затем она будет загружать их из кэша (что крайне быстро) в течение недели. Через неделю он снова загрузит их из Интернета и так далее.

0

Вопрос 1:
Вы можете создать новое значение конфигурации, взятый из документации КИ просто добавить новое значение там $this->config->set_item('image_location', 'image folder'); и вызывайте его при отображении изображений с $this->config->item('image_location');.

Я не уверен на 100%, поскольку я не установил собственные значения конфигурации в CI, но из документации https://www.codeigniter.com/userguide3/libraries/config.html выше это способ сделать это.

0

Q1

Перейти к application/config/config.php и добавить в последний

$config['image_path']='img/mainpage/'; 

Так в коде можно назвать

$this->config->item('image_path'); 

или

Bind это с точки зрения параметр ())


Q2

Создать шаблон вызова файла в папке просмотра. (application/view/template.php).А внутри template.php

<?php $this->load->view('includes/header'); ?> 
<?php $this->load->view($main_content); ?> 
<?php $this->load->view('includes/footer'); ?> 

При передаче данных с использованием контроллера это

$data['main_content'] = 'path/of/relevant/view'; 
$this->load->view('template', $data); 

А внутри header.php груза, все CSS и JS.

+0

Я не понимаю, что я должен сделать для этой работы. Не могли бы вы объяснить это более подробно? Извините, но я совершенно новый с codeigniter. Можете ли вы рассказать мне, в каких файлах я должен добавлять эти строки при передаче данных из контроллера? Спасибо –

+0

@LucasHenriqueFreitas это касается первого или второго –

Смежные вопросы