Link amigável dinâmico com imagens

Posted on by : admin Tags: ,

Criando link de imagens passando o id do registro e configurando URL amigável.
Primeiro resgatamos valores do banco de dados e inserimos algumas condições opcionais.

Controler-1

$logo = $this->Operadora->all(array( ‘conditions’=>array( ‘
cancelado_id IS NULL’,
‘status_id’=>2,
),
‘fields’=>array(
‘nome’,
‘logo’,
‘id’
),
‘groupBy’=>’id’,
‘limit’=>’9’,
‘recursion’=>-1
));

//Preparamos a variável para poder ser usada na view obtendo os valores desejados.

$this->set(‘logo’,$logo);

View-1

//Exibimos as imagens e configuramos o link amigável, para que o id possa ser passado para a pagina direcionada.

foreach($logo as $a):
echo ‘<div>’; $slug = Inflector::slug(utf8_encode($a[‘nome’]));
echo $html->imagelink(‘../files/operadora/’.$a[“logo”],’/operadora/detalhe/’.$a[“id”].’/’.$slug,array(‘alt’=>$a[‘nome’]));
echo ‘</div>’;
endforeach;

Configuração da página a ser direcionada.

Controller-2

//Selecionamos os dados e passamos o id e slug como o nome no caso para a função que irá obter os dados desejados da página qual foi direcionada a navegação.

public function detalhe($id = null, $slug = null){

$this->set(‘opera’,$this->Operadora->combo(array(),’Operadora’));
$this->set(‘abrang’,$this->Abrangencia->combo(array(),’Abrangência’));
$this->set(‘acomod’,$this->Acomodacao->combo(array(),’Acomodação’));

if(is_numeric($id)):
$all = $this->Operadora->first(array(
‘conditions’=>array(
‘cancelado_id IS NULL’,
‘status_id’=>2,
‘id’=> $id
),
‘groupBy’=>’id’,
‘recursion’=>-1
));
$this->set(‘all’,$all);
else: $this->redirect(‘/’);
endif;
}

View-2

//Exibindo informações desejadas

echo $html->image(‘../files/operadora/’.$all[“logo”]);