sexta-feira, 25 de novembro de 2011

CodeIgniter - Usando CSS e Imagens

Hello World!

Esse tópico pode parecer "meio" sem sentido, mas aqui explicarei um pouco sobre a utilização de CSS e Imagens com o CodeIgniter e onde colocar as imagens e o CSS.

Esse tópico será útil para que pretende trabalhar com Templates no CodeIgniter. E em breve colocarei um tópico sobre o uso de templates com CodeIgniter.

Muitos que estão começando a programar com o CodeIgniter acabam tendo duvidas sobre onde colocar o arquivo CSS e a pasta das imagens do site.

Para resolver esse problema, coloque o arquivo CSS diretamente no pasta raiz do site e carregue o arquivo assim:

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

Pronto! Isso resolve o seu problema.
Para as imagens é a mesma coisa, crie a pasta de imagens na raiz do site e irá funcionar.

Agora, se você pretende usar templates para o site, a conversa muda de rumo.

Para fazer algo minimamente organizado, você deve armazenar todos os arquivos do template na mesma pasta das Views, correto?

Exemplo:
Template 1: /application/view/template1
Template 2: /application/view/template2

E dentro dessas pastas de templates as imagens e o CSS.

Por tanto, para carregar por exemplo o CSS, a tag deveria ser assim:

<link href="http://site/application/views/template1/style.css" rel="stylesheet" type="text/css" />

Parece simples se o CodeIgniter não bloqueasse esse acesso.
Sem mexer na configuração do CodeIgniter, isso não irá funcionar. Pelo menos nas versões 2.x do CI.

Para resolver isso você precisa mudar a configuração do arquivo .htaccess que está DENTRO da pasta "application".

O arquivo .htaccess deve ficar assim:

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

Feito isso, seus arquivos de CSS e imagens que estão na pasta "views" estarão acessíveis.

Duvidas? Deixe um comentário.

2 comentários: