Conhecimento nunca é demais
Artigos com o marcador Zend
Dica Rápida – Limitar o tamanho do texto a ser exibido – PHP
31/01/12
public function limitaTexto($texto, $tamanho) {
if (strlen($texto) > $tamanho) {
for ($i = $tamanho; $i <= strlen($texto); $i++) {
if (substr($texto, $i, 1) == " ") {
return substr($texto, 0, $i) . "...";
}
}
return $texto;
} else {
return $texto;
}
}
Se você quiser fazer um helper no zend seria assim:
Configurando Poedit para Projetos Zend Framework
29/10/10
Galera, segue o link de como configurar o programa Poedit que serve para ajudar na tradução de frases para os projetos multi-idioma utilizando o Zend Framework.
O tutorial está em inglês, mas mesmo que você saiba pouco será capaz de fazê-lo pois ele mostra as imagens do passo a passo.
Link: http://blog.hackix.com/2010/01/configuring-poedit-for-zend-framework-projects/
Dicas do Zend_Controller
21/09/10
Bom, vou mostrar aqui algumas recursos simples que podemos utilizar no nosso controller, vamos lá:
// Pegando parâmetros do $_GET e $_POST
// recebendo o parametro ID vindo do $_GET
$id = $this->getRequest()->getParam('id');
// recebendo o parametro ID vindo do $_GET caso nao exista a variavel receberá 0 ou qualquer outro valor que você deseje
$id = $this->getRequest()->getParam('id',0);
// Um array com os parametros
$param = $this->getRequest()->getParams();
echo $param['id'];
echo $param['nome'];
// Agora para pegarmos os parametros vindo do post é ideia é a mesma
$id = $this->getRequest()->getPost('id');
$id = $this->getRequest()->getPost('id',null);
// Agora para validarmos se a requisição que está vindo é POST fazendo o seguinte
if($this->getRequest()->isPost()){
echo "É POST";
} else {
echo "Não é POST";
}
// Transformar um array em JSON
$this->_helper->json($array);
// Renderizar uma outra view
$this->render("nome-da-outra-view");
// Enviando dados para a view
$this->view->mensagem = "Olá a todos";
$this->view->hoje = date("d/m/Y H:i:s");
é isso ai, até mais!!
Utilizando o Zend Mail
12/09/10
Bom, hoje vou mostrar como utilizar o Zend_Mail() com HTML da view.
No nosso controller fazemos o seguinte:
$formData = $this->getRequest()->getParams();
$this->view->nome = $formData['nome'];
$this->view->email = $formData['email'];
$this->view->assunto = $formData['assunto'];
$this->view->mensagem = $formData['mensagem'];
$this->view->site = "http://jhonnymakis.com.br/blog/";
try {
$mail = new Zend_Mail();
$mail->setBodyHtml($this->view->render("contato/email.phtml"));
$mail->setFrom($this->view->email, $this->view->nome);
$mail->addTo("conato@seusite.com.br");
$mail->addBcc("email-copia@seusite.com.br");
$mail->setSubject("CONTATO PELO SITE | Seu Site");
$mail->send();
} catch (Zend_Mail_Exception $e){
echo "Erro: {$e->getMessage()}";
}
Agora que temos o nosso controller funcionando iremos para a nossa view montar o HTML que será enviado para o e-mail:
Mais >
Utilizando o joinInner do Zend_Db_Table no Modelo
28/08/10
Vamos fazer uma consulta utilizando o o Zend_Db_Table:
<?php
class Usuarios extends Zend_Db_Table_Abstract
{
protected $_name = 'usuarios';
protected $_alias = 'user';
protected $_primary = 'id';
public function getUsuarios($where=array(), $limit=array())
{
$select = $this->select()
->setIntegrityCheck(false)
->from(array($this->_alias => $this->_name))
->joinInner(array(
'gru'=>'grupos'),
'gru.id = user.id_grupo',array(
'nome_grupo' => 'gru.nome'
)
);
if($where) {$select->where($where);}
if($limit) {$select->limitPage($limit[0],$limit[1]);}
return $this->fetchAll($select);
}
}
?>
ATENÇÃO: Sempre que você retornar algum resgistro dessa tabela de ligação é obrigatório setar o metodo ->setIntegrityCheck(false).
Qualquer dúvida comenta ai.
Grande abraço.
Utilizando o Zend_Tag_Cloud
23/08/10
Direto ao ponto.
Aqui nós temos nossas tags que estão cadastradas no banco de dados e estamos fazendo uma consulta dentro do modelo
$select = $this->select()
->setIntegrityCheck(false)
->from(array("tag" => "tags"), array("nome" => "tag.nome","id" => "tag.id"))
->limit(20);
$data = $this->fetchAll($select)->toArray();
$cloud = array();
// Se nossa consulta retornar algum valor
if( !empty($data) ) {
foreach($data as $d) {
// montamos o nosso array com os valores para serem passados para o Zend_Tag_Cloud
array_push($cloud,
array(
'title' => $d['nome'],
'weight' => $d['total'],
'params' => array(
'url' => '/materias/index/tag/' . $d['id']
)
)
);
}
return new Zend_Tag_Cloud(array('tags' => $cloud));
} else {
return false;
}
O exemplo acima é para ser feito no modelo e chamar o array com os resultados no controller passando para a view
Feito isso basta dar um echo e pronto.
<div id=”tagsClouds”>
<?php echo $this->tagsClouds; ?>
</div>
Qualquer dúvida comenta ai.