quinta-feira, 29 de janeiro de 2015

Gerando Getters and Setters com Doctrine2 no Zend Framework 2

No terminal (Linux/Mac), rode o seguinte comando:

vendor/bin/doctrine-module orm:generate-entities --filter="Tabela" --generate-annotations="true" --generate-methods="true" module/Tabela/src/

PS: Nome da Tabela sempre em maiúsculo.

Redirecionando Controller no Codeigniter

01 - Vá em /application/config/routes.php

02 - Adicione o seguinte indice ao array $route

$route['admin'] = "usuario"; 

Agora quando for digitado admin na url, o codeigniter irá redirecionar para o controller usuario.

quarta-feira, 28 de janeiro de 2015

Configuração Doctrine no module.config.php no Zend Framework 2

No arquivo module.config.php do seu Modulo, após o indice view_manager colocar a seguinte configuração:

'doctrine' => array(
        'driver' => array(
            __NAMESPACE__ . '_driver' => array(
                'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                'cache' => 'array',
                'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
            ),
            'orm_default' => array(
                'drivers' => array(
                    __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
                )
            )
        )

    ),

segunda-feira, 26 de janeiro de 2015

Assets Helper

01 - /application/config/autoload.php

$autoload['helper'] = array('url', 'modulo', 'assets');

02 - Na root criar a pasta assets e criar os arquivo com o nome do controller, por exemplo:
usuario.css
usuario.js
cliente.css
cliente.js

03 - /application/helper/assets_helper.php

<?php

    if ( ! defined('BASEPATH')) exit('No direct script access allowed');
   
     //carregando o .css/.js referente ao modulo, caso existam
     function moduleAssets(){
         $CI = & get_instance();
         $controller = $CI->uri->segment(1) == false ? 'usuario' : strtolower($CI->uri->segment(1));
         $css = "assets/css/{$controller}.css";
         $js = "assets/js/{$controller}.js";
         $files = null;
         if(file_exists($css)){
             $files .= "<link rel='stylesheet' type='text/css' href='".base_url($css)."' />\n";
         }
         if(file_exists($js)){
             $files .= "<script src='".base_url($js)."'></script>\n";
         }
         return $files;
     }

?>

04 - View

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Codeigniter Assets</title>

<?php echo moduleAssets(); ?>

</head>

quarta-feira, 21 de janeiro de 2015

Integração MailChimp com Codeigniter

01 - Fazer o download da classe do MailChimp para o Codeigniter:
https://github.com/waynhall/CodeIgniter-Library-for-MailChimp-API-v1.3


02 - Coloque a classe MCAPI no diretório /application/libraries /

03 - Configuração de conexão com o MailChimp

$config = array(
            'apikey' => 'db5b0123456789621651ca27f7c7657-us8', //API KEY do MailChimp
            'secure' => FALSE //default
        );

        $this->load->library('MCAPI', $config, 'mail_chimp');

        $list_id = 'b2d4012345'; //LIST ID do MailChimp


04 - Testando se a conexão com o MailChimp está correta:

$conexao = $this->mail_chimp->ping();
var_dump($conexao);

Irá retornar Everything's Chimpy! se tudo estiver correto ou FALSE caso encontre alguma falha na conexão.

05 - Exemplo simples de como cadastrar os dados no MailChimp:

        $email = trim($this->input->post('email'));

        $merge_vars = array(
            'FNAME'=> trim($this->input->post('nome')),
            'LNAME'=> trim($this->input->post('sobrenome')),
            'MMERGE4' => trim($this->input->post('telefone'))
        );
 

        //todos os parametros são obrigatórios
        $listSubscribe = $this->mail_chimp->listSubscribe($list_id, $email, $merge_vars); 


06 - Para mais informações consultar: https://apidocs.mailchimp.com/api/1.3/