Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, uma questão:
Qual ou como seria a lógica de um sistema de mensagens, onde, as mensagens do usuário ficaria na direita e do remetente na esquerda? Típico hoje em dia em qualquer aplicativo, site, o que seja...
Seria no query, no php... com javascript?! Alguém consegue dar alguma sugestão, ideia... tenho um sistema mas traz as mensagens do jeito bem comum mesmo... uma de baixo da outra.
/applications/core/interface/imageproxy/imageproxy.php?img=http://i1065.photobucket.com/albums/u397/yurifontella/messages_zps11b04c8a.png&key=6ed421b3b908f73eeb923867e51dc2b98ae895543abd296ffa11a4edb86bbf7e" alt="messages_zps11b04c8a.png" />
Mas identificar onde?
No mesmo lugar em que as armazenou.
Eu fiz da seguinte forma:
As mensagens são enviadas para uma única tabela (mensagens)
No model tem uma função {mensagens} de leitura das mesmas, com um query que traz as msg onde sou (id) destinatário e remetente e com um subquery onde o remetente é remetente e destinatário.
Na view tem apenas o html com o foreach...
{mensagens}
<li>{nome} - {texto}</li>
{/mensagem}
Essa é a questão, como identificar naquela "li" quais as mensagens vem do destinatário e quais do remetente para definir uma classe e trabalhar no css...
Você precisa ajustar sua consulta, uai.
E como tu faria sua consulta?! Sendo que tem a id do destinatário e a do remetente... pelo menos a minha lógica é essa.
Partindo do pressuposto que você sabe quem é o usuário logado (Coringa), basta ver se quem enviou a mensagem é a mesma pessoa que está logada
<li class="{$usuario_logado === $quem_enviou_a_mensagem ? 'me' : ''}">{nome} - {$texto}</li>
Depois basta alinhar com CSS
Evandro Oliveira... meio que me baseando na sua resposta.
Lá no meu script que traz as mensagens, fiz isso...
html.append('<li class="this.id_remetente">this.nome - this.texto</li>');
$('.'+this.id_remetente+'').css('float','right');
Agora é só trabalhar na css... Valeu, abraço aí pra vcs :)
Depois de alguns ajustes, ficou mais ou menos como eu queria...
/applications/core/interface/imageproxy/imageproxy.php?img=http://i1065.photobucket.com/albums/u397/yurifontella/messagesAjustado_zps4bcbf3e9.png&key=3d04eafddea08fc02e1815416fa847bb0b6c4662053eedc0853b7a4664fe7a0b" alt="messagesAjustado_zps4bcbf3e9.png" />
Só não conseguir definir a css da imagem do lado do remetente... bem complicado. Ela já é definida como "left".
Basta você identificar o remetente e o destinatário e aplicar a regra de exibição para cada um.