Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandro Zaleski

[Resolvido] Exibir Div Mesmo Que O {section} Esteja Vazio No Smar

Recommended Posts

Bom dia pessoal..

Eu estou tendo uma dificuldade num trabalho que estou fazendo..

Quando eu não utilizava o Smarty eu já tinha resolvido.. mas agora estou com difculdade..

O problema é o seguinte..

Existe 4 destaques na home do site que estou desenvolvendo.

eu uso o section que exibe as divs e as referentes informações até ai tranquilo.

O meu problema é que se por acaso o cliente cadastrar apenas 2.. as outras duas divs não aparecem.. ou se ele cadastrar 1 as outras 3 não aparecem.

e eu queria que se não tivesse os 4 destaques cadastrados, os que faltassem aparecesse as divs igual com descrito: Em breve Novidades por exemplo.. só quee eu não estou sabendo como fazer.. vou postar o código para vocês verem o que estou falando.. vou postar só a parte que exibe as divs.

<div id="destaques_vendas">
	{section name=i loop=$ven_id}
		<div id="destaque" align="center">
			<div id="foto">
				{if $ven_fot[i] eq ''}
					<br />
					<a href="../php/imoveis_detalhes.php?id={$ven_id[i]}" target="_self" >
						<img src="../img/{$sem_foto}" border="0" width="100" height="75" />
					</a>
				{elseif $ven_pos[i] eq ''}
					<br />
					<a href="../php/imoveis_detalhes.php?id={$ven_id[i]}" target="_self" >
						<img src="../img/destaque/{$ven_fot[i]}" border="0" width="100" height="75" />
					</a>
				{else}
					<a href="../php/imoveis_detalhes.php?id={$ven_id[i]}" target="_self" >
						<img src="../img/destaque/{$ven_fot[i]}" border="0" width="75" height="100" />
					</a>
				{/if}
			</div>
			<div id="transacao">
				<a href="../php/imoveis_detalhes.php?id={$ven_id[i]}" target="_self" class="preto12" >
					{$ven_tra[i]|upper}
				</a>
			</div>
			<div id="finalidade"> 
				<a href="../php/imoveis_detalhes.php?id={$ven_id[i]}" target="_self" class="preto12" >
					{$ven_fin[i]}
				</a>
			</div>
			<div id="tipo_imovel">
				<a href="../php/imoveis_detalhes.php?id={$ven_id[i]}" target="_self" class="preto10" >
					{$ven_tip[i]}
				</a>
			</div>
			<div id="codigo">
				<a href="../php/imoveis_detalhes.php?id={$ven_id[i]}" target="_self" class="preto12" >
					Cód:{$ven_cod[i]}
				</a>
			</div>
			<div id="valor">
				<a href="../php/imoveis_detalhes.php?id={$ven_id[i]}" target="_self" class="preto12" >
					{if $ven_val[i] eq '' or $ven_val[i] eq '0,00'}
						Consultar
					{else}
						R$ {$ven_val[i]}
					{/if}
				</a>
			</div>
		</div>
	{/section}
</div>

Se eu não me expliquei direito é só perguntar que eu respondo..

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.. Desculpe a demora (feriadão hehe)

bom as divs que sempre devem aparecer são todas as que estão dentro da {section} pois quando não tiver imóvel.. teria que aparecer no lugar da foto escrito.. "em breve novidades" por exemplo e as demais em branco.. pelo menos era esta a minha idéia.. mas estou aberto a idéias.. o que não pode é ficar tudo em branco quando não tiver imóveis em destaque

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi muito bem

 

porque , por exemplo,

 

tem um layer chamdo "valor"

 

<div id="valor">

presuponho que seja um layer para exibir o valor do imóvel, certo ?

 

 

então, o que está estranho, é, se mesmo se não houver nenhum registro, qual a finalidade em exibir o layer <div id="valor"> sem conteúdo nenhum ?

 

 

a div "valor" foi apenas um exemplo

 

 

<div id="finalidade">

<div id="tipo_imovel">

etc..

 

também ficariam todos vazios ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim.. todas as divs dentro da div destaque ficarão vazias.. mas a minha idéia de deixa-las é pq elas tem uma borda e uma tem fundo.. é mais para a aparencia mesmo... mas em último caso.. posso deixar sem.. o que eu quero é que não fique vazio.. grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem várias formas para resolver

 

sugiro algo simples e ´facil

 

 

no template do smarty está atribuindo o array $vend_id ao loop section, certo ?

{section name=i loop=$ven_id}

 

obviamente, quando o array ão possuir índices, tudo que estiver dentro do {section} {/section} será ignorado.

 

por isso, quadno ocorrer do array PHP ficar vazio, preencha-o com os índices necessários, porém, com valor null ou false, antes de atribuí-lo ao assign() do smarty::

 

entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.. desculpe pela demora para resonder mas não estou recebendo por e-mail o aviso de resposta.. e quando em lembro eu venho dar uma olhada..

Eu já consegui fazer.. fiz um {if} e deu certo.. vou postar abaixo o que eu fiz..

 

{section name=i loop=8}
   {if isset($ven_id[i.index])}
      Coloquei todas as divs com os códigos do smarty
   {else}
      Coloquei todas as divs sem os códigos e escrito em breve outro destaque
   {/if}
{/section}

Obrigado pela ajuda..

Compartilhar este post


Link para o post
Compartilhar em outros sites

ficou meio "zuado" mas o importante é que resolveu..

 

eu iria sugerir uma alteração antes do assign() no codigo php e nao no template tpl;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tiver um exemplo.. me manda para eu dar uma olhada.. pq eu não gosto muito das coisas "zuadas" como você falou.. eu quero fazer como é o correto nada na gambiarra... me manda um exemplo com a solução antes do assign()...

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.