curso

#7 Curso CodeIgniter – View de dados com HTML

Deixando o código bonito

O primeiro arquivo que vamos editar vai ser o menu_categorias.php que foi o último alterado, deixando ele da seguinte maneira.

<div id="menu_de_categorias" class="gradient0 sombra radious">
   <h2>Categorias</h2>
   <ul>
      <?php foreach ($categorias as $cat):?>
         <li class="gradient1 radious">
            <?php echo anchor('anotacoes/categoria/'.$cat->slug_categoria, $cat->categoria); ?>
         </li>
      <?php endforeach; ?>
   </ul>
</div>

Você já vai perceber que mudou a aparência, e nesse código primeiro fazemos o foreach nele é criado um loop que cria as <li> até não existir mais categorias, a função anchor que é usada vamos ver mais pra frente, ela chama um Controller nativo para URL, pode perceber o efeito dela no nome dos links gerados e nas suas relativas URL’s.

4 Registros na Controller

Vamos fazer a chamada de 4 registros na Controller Index() no arquivo application > views > home.php dessa forma que faremos irá exibir 4 notas randomicamente, seu método index() ficará da seguinte maneira.

public function index(){
   $data['categorias'] = $this->db->get('categorias')->result();
   $this->db->order_by('id_anotacao','random');
   $data2['chamadas'] = $this->db->get('anotacoes', 4)->result();
   $this->load->view('html_header');
   $this->load->view('cabecalho');
   $this->load->view('menu_categorias', $data);
   $this->load->view('conteudo', $data2);
   $this->load->view('rodape');
   $this->load->view('html_footer');
}

Perceba o uso da função order_by para random que ficará antes do get da tabela com 4 resultados.  No arquivo conteudo.php coloque o código a seguir.

conteudo.php

<div id="conteudo" class="gradient0 sombra radious">
  <h2>Anotações Simples</h2>
     <div id="grid-home">
       <?php foreach($chamadas as $chamada):?>
         <div class="item-grid-home sombra radious">
           <h3><?php echo $chamada->nome; ?></h3>
            <?php echo anchor("anotacoes/ver/". $chamada->slug_anotacao,
                 img('assets/imgs/anotacoes/'.$chamada->foto)) ?>
          </div>
          <p>
            <?php
                 echo anchor("anotacoes/ver/". $chamada->slug_anotacao,
                 word_limiter($chamada->texto,20)) ?>
           </p>
             <?php endforeach; ?>
      </div>
</div>

Usaremos a função do Helper Text para limitar o texto em 30 palavras, que para ser utilizada devemos habilitar naquele arquivo autoload.php.

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

Insira dados na sua tabela anotacoes a vontade, na minha tabela inseri duas linhas com Lorem para teste como na imagem.

Anotações Banco de Dados

Anotações Banco de Dados

Anúncios

#6 Curso CodeIgniter – Dados do banco para a view

Modificando o Controller Index

Vamos modificar a nossa função Index() na Controller (application/controllers/home.php) para ter as chamadas adicionais de View’s, sendo que a primeira linha dentro da função  faz uma consulta no banco retornando os valores referente a ela.

public function index(){
$data['categorias'] = $this->db->get('categorias')->result();
$this->load->view('html_header');
$this->load->view('cabecalho');
$this->load->view('menu_categorias', $data);
$this->load->view('conteudo');
$this->load->view('rodape');
$this->load->view('html_footer');
}

Criando várias Views

Como temos as chamadas, temos que criar os arquivos referentes dentro da pasta application/views, como por exemplo o primeiro já existe o html_header.php, então criaremos cabecalho.php, menu_categorias.php, conteudo.php, rodape.php e html_footer.php. Há ainda o arquivo home.php que sobrou, podemos excluir ele.

 

Conteúdo da segunda View

Abra o arquivo menu_categorias.php e adicione o seguinte código.

<h2>Menu de Categorias</h2>
<pre> <?php print_r($categorias); ?> </pre>

 

Dados na tabela categorias

Na tabela categorias vamos inserir duas linhas como na imagem.

Tabela de categorias no banco de dados

 

Resultado

Podemos assim abrir a URL do projeto para conferir como ficou. Na tela exibirá as duas categorias com suas respectivas informações, em forma de array. Note que ele retorna como se estivéssemos fazendo uma laço para consultar o banco linha por linha, não precisamos fazer esse “laço” pois o próprio framework se encarregou de fazer isso.

#4 Curso CodeIgniter – Helper

Helper

O CodeIgniter vem com funções como desabilitadas como a possibilidade de manipulação de XML, WebService, PDF, dentre outros. Para podermos usar a função doctype() teremos que que habilitar o autoload de ‘html’ e ‘url’, abrimos então o arquivo:

 

application/config/autoload.php

 

Na linha 67 trocaremos $autoload[‘helper’] = array(); por $autoload[‘helper’] = array(‘html’, ‘url’);

 

Criaremos uma nova chamada de View, abra o arquivo application > controllers > home.php e adicione o load html_header como o exemplo:

 

public function index(){

$this->load->view(‘html_header’);

$this->load->view(‘home’);

}

 

Então crie o arquivo:

 

application > views > html_header.php

 

e nele adicione o topo do site:

 

<?php echo doctype(‘html5’); ?>

<html lang=”pt”>

<head>

<meta charset=”UTF-8″>

<title>Minha primeira view</title>

<?php

$meta = array(

array(‘name’ => ‘robots’, ‘content’ => ‘no-cache’),

array(‘name’ => ‘description’, ‘content’ => ‘Meu primeiro site CodeIgniter’),

array(‘name’ => ‘keywords’, ‘content’ => ‘codeigniter, site, primeiro’),

array(‘name’ => ‘robots’, ‘content’ => ‘no-cache’),

array(‘name’ => ‘Content-type’, ‘content’ => ‘text/html;charset=utf-8’, ‘type’ => ‘equiv’)

);

echo meta($meta);

echo link_tag(‘assets/img/icon.ico’, ‘shortcut icon’, ‘image/ico’);

echo link_tag(‘assets/css/layout.css’);

?>

</head>

<body>

 

Explicação:

Para entender a função doctype() habilitada poderá ver os arquivos:

 

application/config/doctypes.php

(Nele é listado os tipos de doctypes aceitos)

 

system/helpers/html_helper.php

(Na linha 385 está a função chamada meta, e na linha 310 está localizada a função link_tag)

#3 Curso CodeIgniter – Minha primeira View

Criando sua primeira View

 

Primeiro passo

Abra o arquivo:

 application > config > routes.php

 Na linha 41 mude o redirecionamento da “welcome” para “home” (vai ser a view que iremos criar).

 

Segundo passo 

Vamos criar um controller para essa rota home, criando o seguinte arquivo:

application > controller > home.php

O conteúdo desse arquivo vai ser o sequinte:

<?php if ( !defined('BASEPATH')) exit('No direct script access allowed');

class Home extends CI_Controller {    

   public function _construct(){       

      parent::_contruct();    

   }    

   public function index(){        

      $this->load->view('home');

}

}

Explicação:

A primeira linha é uma questão de segurança do CodeIgniter que ele faz a verificação da constante “BASEPATH”, caso não esteja definida o script será interrompido.

A sua classe Home é estendida de CI_Controller que é a classe-base, e todo o controlador deverá seguir esse padrão.

O método construtor (_construct) será executado toda vez que a classe for instanciada ou um de seus métodos for executado.

 

#1 Curso CodeIgniter – Conhecendo MVC

Nessa primeira aula vemos o básica do CodeIgniter, o site e como funciona seu sistema MVC.

Se você está interessado em aprender CodeIgniter, já sabe que ele trabalha com MVC ou pelo menos já ouviu falar. MVC é um modelo de desenvolvimento referenciado como design pattern ou padrão de design de software, o qual significa Model-View-Controller, que é a organização de arquivos e pastas.

Para que cada um serve?! Simples:

Model – Comunicação com o banco e dados (entrada e saída).

View – Visual do sistema, aonde vai ser mostrado o resultado (controla tudo que aparece na tela).

Controller – Funções e métodos com base na Model para mostrar na View (A única ligação entre a View e Model).

 

Instalando Joomla 3 no Ubuntu

Comecei mexer com Joomla 3 agora, e conforme estou aprendendo vou compartilhando minhas experiências. Nesse tutorial vou mostrar como inicia com Joomla 3, fazendo a instalação desde o download a criação do banco e poder visualizar o Back e o Front, tudo via terminal.

Primeiro passo – Baixe e descompacte o Joomla 3 na sua pasta de projetos.

Segundo passo – Crie o banco de dados via terminal:

mysql -u root -p -e "create database joomla"

Terceiro passo – Execute a via browser o local da instalação.