como fazer

#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.

#5 Curso CodeIgniter – Banco de Dados

Criando o banco de dados

Vamos criar um sistema para suas anotações nesse primeiro sistema, para isso iremos criar um banco de dados que ira conter imagens, anotações, a categoria a qual pertence, o slug da mesma, dentre outras informações. Iremos fazer uma ligação entre as tabelas através do ID de cada anotação gravada, terá também uma gravação automática da data que a anotação foi gravada.

Começaremos criando um banco no PhpMyAdmin ou em outro software de sua escolha que proponha a conexão com bando de dados de seu servidor local.

 

Primeiro passo

Esse banco deverá ser utf8_general_ci, se chamara anotacoes.

 

Segundo passo

Agora devemos criar as tabelas, a primeira ira ser a categorias, para isso basta executar o comando SQL:

 

CREATE TABLE anotacoes.categorias(

   id_categoria INTEGER UNSIGNED  AUTO_INCREMENT NOT NULL,

   categoria VARCHAR(45) NOT NULL,

   slug_categoria VARCHAR(255) NOT NULL,

PRIMARY KEY (id_categoria)

) ENGINE = InnoDB;

 

O tipo varchar especifica o total máximo de caracteres aceitos, e o valor auto_increment significa que ele vai ser acrescentado automaticamente ao adicionar mais uma linha na tabela. Se preferir pode criar manualmente a tabela desde que ela seja da seguinte maneira.

  • id_categoria – Inteiro, auto incremento.
  • categoria – Até 45 caracteres de texto.
  • slug_categoria – Até 255 caracteres de texto.

Terceiro passo

A próxima tabela a ser criada vai ser  a tabela de anotações que se chamara anotacoes, iremos executar o seguinte código:

 

DROP TABLE IF EXISTS anotacoes.anotacoes;

CREATE TABLE anotacoes.anotacoes (

id_anotacao int unsigned AUTO_INCREMENT PRIMARY KEY NOT NULL,

nome VARCHAR(255) NOT NULL,

slug_anotacao VARCHAR(255) NOT NULL,

texto TEXT NOT NULL,

categoria int UNSIGNED NOT NULL,

foto VARCHAR(45) DEFAULT NULL,

data TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,

KEY FK_anotacoes_categoria (categoria),

CONSTRAINT FK_anotacoes_categoria FOREIGN KEY (categoria)

REFERENCES categorias (id_categoria) ON UPDATE CASCADE

) ENGINE = InnoDB;

Após ter criado essa segunda table, agora temos que configurar os arquivos para conectar com o banco de dados.

 

Quarto passo

Vamos habilitar a biblioteca database, para possibilitar a comunicação com o banco. Aba o arquivo:

config/autoload.php

 

Após abrir o arquivo edite a linha 55 para ficar igual a essa:

$autoload[‘libraries’] = array(‘database’);

 

Quinto passo

Na mesma pasta haverá outro arquivo chamado database.php no fim dele você poderá editar as configurações de conexão, no meu caso o usuário do banco de dados e senha são respectivamente:

  • rafael
  • 123456

Sendo assim você configurará de acordo com seus dados de acesso, as informações desse arquivo.

 

Exemplo:

Segue apenas o final do código, que é a parte referente a conexão que você configurará.

 

$db[‘default’][‘hostname’] = ‘localhost’;

$db[‘default’][‘username’] = ‘rafael’;

$db[‘default’][‘password’] = ‘123456’;

$db[‘default’][‘database’] = ‘anotacoes’;

$db[‘default’][‘dbdriver’] = ‘mysql’;

$db[‘default’][‘dbprefix’] = ”;

$db[‘default’][‘pconnect’] = TRUE;

$db[‘default’][‘db_debug’] = TRUE;

$db[‘default’][‘cache_on’] = FALSE;

$db[‘default’][‘cachedir’] = ”;

$db[‘default’][‘char_set’] = ‘utf8’;

$db[‘default’][‘dbcollat’] = ‘utf8_general_ci’;

$db[‘default’][‘swap_pre’] = ”;

$db[‘default’][‘autoinit’] = TRUE;

$db[‘default’][‘stricton’] = FALSE;

#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).

 

Tutorial de como instalar Magento via SSH

Este artigo irá descrever algumas abordagens diferentes para instalar a última versão do Magento usando o shell de linha de comando via SSH. Nós vamos ver como instalar Magento com e sem dados de exemplo.

Usando SSH é a maneira mais fácil e rápida de instalar o Magento, especialmente quando você está tentando configurar uma loja com dados de amostra. Normalmente, isso requer que você baixe cerca de 45 MB no valor de dados e, em seguida, o re-envio para o seu site. Com SSH , podemos tirar proveito da conexão do servidor para pegar os arquivos necessários.

Última versão estável hoje do Magento é 1.9.1.1 (23,8 MB )

Instalando o Magento com o Full Download

Assim que esse código é colado no terminal ( ctrl+shift+v ) ele baixa o Magento compactado em tar.gz, logo em seguida descompacta e coloca as permissões corretas com chmod.

Cole no terminal:
wget http://www.magentocommerce.com/downloads/assets/1.9.1.1/magento-1.9.1.1.tar.gz
tar -zxvf magento-1.9.1.1.tar.gz
mv magento/* magento/.htaccess .
chmod -R o+w media var
chmod o+w app/etc

Instalando o Magento com o Downloader PEAR

Usando o downloader PEAR é uma forma conveniente para garantir que você instale a última versão do Magento, uma vez que fornece um mecanismo simples para instalar a última versão estável, que está disponível. É um download pequeno e é atualizado com menos freqüência do que o pacote completo Magento.

Cole no terminal:
wget http://www.magentocommerce.com/downloads/assets/1.9.1.0/magento-downloader-1.9.1.0.tar.gz
tar -zxvf magento-downloader-1.9.1.0.tar.gz
rm -rf magento-downloader-1.9.1.0.tar.gz

Logo em seguida acesse http://www.sualoja.com/downloader.php em seu navegador.


Instalando o Magento com o Full Download & Dados de Amostra

Instalando o Magento com dados da amostra é útil se você quiser se familiarizar com Magento e ver como categorias e produtos são criados. Isso é quase o mesmo que acima,Você só terá que substituir os valores DBHOST, DBUSER, DBPASS e DBNAME.
wget http://www.magentocommerce.com/downloads/assets/1.9.1.1/magento-1.9.1.1.tar.gz
tar -zxvf magento-1.9.1.1.tar.gz
wget http://www.magentocommerce.com/downloads/assets/1.9.0.0/magento-sample-data-1.9.0.0.tar.gz
tar -zxvf magento-sample-data-1.9.0.0.tar.gz
mv magento-sample-data-1.9.0.0/media/* magento/media/
mv magento-sample-data-1.9.0.0/magento_sample_data_for_1.9.0.0.sql magento/data.sql
mv magento/* magento/.htaccess* .
chmod -R o+w media var
mysql -h DBHOST -u DBUSER -pDBPASS DBNAME < data.sql
chmod o+w var var/.htaccess app/etc
rm -rf magento/ magento-sample-data-1.9.0.0/ magento-1.9.0.0.tar.gz magento-sample-data-1.9.0.0.tar.gz data.sql