Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda layout php zend


JimiC

Pergunta

Bom dia a todos. Estou tentando customizar um layout de um site, é uma comunidade.

Vou colocar as imagens do que estou querendo para ajudar.

Página de busca de usuários:

browseoriginal.jpg

Estou querendo que os usuários sejam mostrados em linhas e colunas, assim:

browse.jpg

Esse é o código do arquivo *.tpl que controla a página:

<?php
?>
<h3>
  <?php echo $this->translate(array('%s member found.', '%s members found.', $this->totalUsers),$this->locale()->toNumber($this->totalUsers)) ?>
</h3>

<ul id="browsemembers_ul">
  <?php foreach( $this->users as $user ): ?>
    <li>
      <?php echo $this->htmlLink($user->getHref(), $this->itemPhoto($user, 'thumb.icon')) ?>
      <?php if( $this->viewer()->getIdentity() ): ?>
        <div class='browsemembers_results_links'>
          <?php echo $this->userFriendship($user) ?>
        </div>
      <?php endif; ?>

        <div class='browsemembers_results_info'>
          <?php echo $this->htmlLink($user->getHref(), $user->getTitle()) ?>
          <?php echo $user->status; ?>
          <?php if( $user->status != "" ): ?>
            <div>
              <?php echo $this->timestamp($user->status_date) ?>
            </div>
          <?php endif; ?>
        </div>
    </li>
  <?php endforeach; ?>
</ul>

<?php if( $this->users ): ?>
  <div class='browsemembers_viewmore' id="browsemembers_viewmore">
    <?php echo $this->paginationControl($this->users, null, null, array(
      'pageAsQuery' => true,
      'query' => $this->formValues,
      //'params' => $this->formValues,
    )); ?>
  </div>
<?php endif; ?>

<script type="text/javascript">
  page = '<?php echo sprintf('%d', $this->page) ?>';
  totalUsers = '<?php echo sprintf('%d', $this->totalUsers) ?>';
  userCount = '<?php echo sprintf('%d', $this->userCount) ?>';
</script>

Qualquer ajuda será bem-vinda.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde.

Olha, quando eu mexia bastante com Magento, eu alterava bastante coisa.

Acredito ser possivel sim, mas tem que ir organizando tudo certinho e testando..

Ohh.. eu uso esse esquema aqui, quando preciso fazer colunas com resultado do BD..

<table border="0" cellpadding="0" style="border-collapse: collapse" align="center">
    <tr>
    <?
    include "conecta.php"; // Conecta ao banco de dados
    // Você define o número de Colunas desejadas
    $colunas = 6;
    // Criamos um verificador, para contagem
    $i = 1;
   
    // Fizemos a nossa query normal no Banco de Dados
    // E iniciamos a exibição dos dados com o WHILE
    $q_produto = mysql_query("SELECT * FROM tabela_qualquer");
    while($produto = mysql_fetch_object($q_produto)){
    // Aqui é parte do truque, fizemos um calculo, dividindo nosso $i pelo número de colunas
    $resto = $i%$colunas;
    ?>                                    
        <td width="140" height="150" align="center" valign="top"> AQUI VOCÊ MONTA AS INFORMAÇÕES </td>
    <?
    // Aqui vem o truque, se o $resto for igual 0, iniciamos uma nova linha de dados na tabela, fechando a anterior com o </tr>
    if($resto == 0){
        print "</tr>";
        print "<tr>";
    }
    // Incrementamos +1 no $i ao final de cada loop do WHILE
    $i++;    
    }
    // Se o $resto for diferente de 0, fecha a linha da tabela, com o </tr>
    if($resto != 0){ ?>
       
    <? } ?>
</table>

Só que assim, eu pego as informações do BD e faço as colunas, pelo while..

Tenta alterar ai pra ver se consegue, porque eu precisava testar com os códigos do proprio sistema que você tem ai, pra te dar o código certo...

Se não conseguir, posta de novo..

Abrass

Editado por Parisi
Link para o comentário
Compartilhar em outros sites

  • 0

Parisi, estou fazendo uns testes aos poucos, consegui concentrar a informação dos usuários, mas estão aparecendo um em cada linha, não sei como implementar as colunas. Olha o código que tenho até agora:

<?php foreach( $this->users as $user ): ?>
 <table border="0" cellpadding="0" style="border-collapse: collapse" align="center">   
 <td width="140" height="150" align="center" valign="top">
      <?php echo $this->htmlLink($user->getHref(), $this->itemPhoto($user, 'thumb.icon')) ?>
      <?php if( $this->viewer()->getIdentity() ): ?>
        
          <?php echo $this->userFriendship($user) ?>
       
      <?php endif; ?>

        
          <?php echo $this->htmlLink($user->getHref(), $user->getTitle()) ?>
          <?php echo $user->status; ?>
          <?php if( $user->status != "" ): ?>
            
              <?php echo $this->timestamp($user->status_date) ?>
            
          <?php endif; ?>
 </td>      
 </table>
  <?php endforeach; ?>
Valeu pela ajuda! Cara, mudando o <table> pra cima fica um ao lado do outro, quase! mas 10 em só uma linha.
<table border="0" cellpadding="0" style="border-collapse: collapse" align="center">   
  <?php foreach( $this->users as $user ): ?>

 <td width="140" height="150" align="center" valign="top">
      <?php echo $this->htmlLink($user->getHref(), $this->itemPhoto($user, 'thumb.icon')) ?>
      <?php if( $this->viewer()->getIdentity() ): ?>
        
          <?php echo $this->userFriendship($user) ?>
       
      <?php endif; ?>

        
          <?php echo $this->htmlLink($user->getHref(), $user->getTitle()) ?>
          <?php echo $user->status; ?>
          <?php if( $user->status != "" ): ?>
            
              <?php echo $this->timestamp($user->status_date) ?>
            
          <?php endif; ?>
 </td>      

  <?php endforeach; ?>
</table>

Editado por JimiC
Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde.

Você viu o código que eu te passei ?

É que sem esse sistema seu, fica dificil eu montar pra testar..

Mas o que gera as colunas é o código..

<?php foreach( $this->users as $user ): ?>
<table border="0" cellpadding="0" style="border-collapse: collapse" align="center">
    <tr>
    <?
    // Você define o número de Colunas desejadas
    $colunas = 5;
    // Criamos um verificador, para contagem
    $i = 1;
  
    // Aqui é parte do truque, fizemos um calculo, dividindo nosso $i pelo número de colunas
    $resto = $i%$colunas;
    ?>                                    
        <td width="140" height="150" align="center" valign="top">
<?php echo $this->htmlLink($user->getHref(), $this->itemPhoto($user, 'thumb.icon')) ?>
      <?php if( $this->viewer()->getIdentity() ): ?>
        
          <?php echo $this->userFriendship($user) ?>
      
      <?php endif; ?>

        
          <?php echo $this->htmlLink($user->getHref(), $user->getTitle()) ?>
          <?php echo $user->status; ?>
          <?php if( $user->status != "" ): ?>
            
              <?php echo $this->timestamp($user->status_date) ?>
            
          <?php endif; ?>
</td>
    <?
    // Aqui vem o truque, se o $resto for igual 0, iniciamos uma nova linha de dados na tabela, fechando a anterior com o </tr>
    if($resto == 0){
        print "</tr>";
        print "<tr>";
    }
    // Incrementamos +1 no $i ao final de cada loop do WHILE
    $i++;    
    // Se o $resto for diferente de 0, fecha a linha da tabela, com o </tr>
    if($resto != 0){ ?>
      
    <? } ?>
</table>
<?php endforeach; ?>

Não sei se isso dai vai funcionar, mas vai testando.. rsrsrs

Abrass

Link para o comentário
Compartilhar em outros sites

  • 0

Não deu certo.

Vou trabalhar só com esse código aqui, limpei um pouco as informações para facilitar. Até agora consegui com esse código que as figuras saiam em 10 colunas, mas em uma só linha:

** No código que você incorporou ao meu não tem o while, como o loop iria voltar? Falei besteira?

<table border="0" cellpadding="0" style="border-collapse: collapse" align="center">   
  <?php foreach( $this->users as $user ): ?>

 <td width="140" height="150" align="center" valign="top">
      <?php echo $this->htmlLink($user->getHref(), $this->itemPhoto($user, 'thumb.icon')) ?>
      <?php echo $this->htmlLink($user->getHref(), $user->getTitle()) ?>
      <?php if( $this->viewer()->getIdentity() ): ?>
        
          <?php echo $this->userFriendship($user) ?>
       
      <?php endif; ?>
 </td>      

  <?php endforeach; ?>
</table>

Até agora está assim:

browse%202.jpg

Editado por JimiC
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...