"Скрытые" друзья

#1 28 апреля 2012 в 14:59
Приветствую.
Значит появилась такая идея.
У меня сайт знакомств, и многие просят функцию друзья (я ее отключил, так как это все таки не социальная сеть).
Хоть убейся, они просят эту функцию, и получится тогда социальная свалка, будут все друг друга в друзья добавлять.
Идея такова, чтобы друзей переделать в "Избранное".
Вот как оно должно работать:
Заходим в профиль к кому-нибудь, жмем "Добавить в избранное".
Пользователь появляется в нашем профиле в Избранном, НО...
1. Никто кроме тебя не должен видеть "Избранное".
2. Пользователь, которого добавили в Избранное не должен ничего подтверждать, и вообще не должен знать, что его добавили.
3. После добавления в Избранное пользователь у нас появляется, у него же мы не появляемся.
4. В ленте у себя должен отображаться пользователь с Избранного, у него же мы не показываемся.
Я сделал второй пункт, т.е отключил подтверждение в друзья, убрал уведомления.
А вот дальше зашел в тупик, что делать?!
#2 28 апреля 2012 в 15:46
Где вывод друзей поставте проверку если мой профиль или админ

{if $myprofile || $is_admin}
(вывод друзей)
{/if}
а поповоду переименовать друзья в избраное это поправить языковые файлы
#3 28 апреля 2012 в 16:22

Где вывод друзей поставте проверку если мой профиль или админ {if $myprofile || $is_admin} (вывод друзей) {/if} а поповоду переименовать друзья в избраное это поправить языковые файлы

Олег
Это вставить в com_users_profile.tpl или в frontend.php?
#4 28 апреля 2012 в 17:00

Это вставить в com_users_profile.tpl или в frontend.php?

SpideR-KOSS
в шаблон в com_users_profile.tpl
#5 28 апреля 2012 в 17:25

в шаблон в com_users_profile.tpl

Олег
Вот код, отвечающий за вывод:
  1. {assign var="col" value="1"}
  2. <table width="" cellpadding="5" cellspacing="0" border="0" class="usr_friends_list" align="left">
  3. {foreach key=tid item=friend from=$usr.friends}
  4. {if $col==1}<tr>{/if}
  5. <td align="center" valign="top">
  6. <div class="usr_friend_cell">
  7. <div align="center"><a class="friend_link" href="{profile_url login=$friend.login}">{$friend.nickname}</a></div>
  8. <div align="center"><a href="{profile_url login=$friend.login}">{$friend.avatar}</a></div>
  9. <div align="center">{$friend.flogdate}</div>
  10. </div>
  11. </td>
  12. {if $col==6} </tr> {assign var="col" value="1"} {else} {math equation="x + 1" x=$col assign="col"} {/if}
  13. {/foreach}
  14. {if $col>1}<td colspan="{math equation="x - 6 + 1" x=$col}"> </td></tr>{/if}
  15. </table>
  16. </div>
  17. {/if}
Куда вставлять? zst
#6 28 апреля 2012 в 17:35
начинается с <div class="usr_wall_header">
{if !$myprofile}
{$LANG.USER_FRIENDS}
{else}
{$LANG.MY_FRIENDS}
{/if}
</div>
вместо него пишем
{if $myprofile || $is_admin}
<div class="usr_wall_header">
{$LANG.MY_FRIENDS}
</div>
(дальшекод что вы написали)
и з-акрываем условие
{/if}
вместо {$LANG.MY_FRIENDS} можете сразу писать избраное и будет в профиле не мои друзья а избраное
#7 28 апреля 2012 в 17:44
Сделал все, как Вы сказали.
Получилось вот так.
  1. {if $myprofile || $is_admin}
  2. <div class="usr_wall_header">
  3. {$LANG.MY_FRIENDS}
  4. </div>
  5. {assign var="col" value="1"}
  6. <table width="" cellpadding="5" cellspacing="0" border="0" class="usr_friends_list" align="left">
  7. {foreach key=tid item=friend from=$usr.friends}
  8. {if $col==1}<tr>{/if}
  9. <td align="center" valign="top">
  10. <div class="usr_friend_cell">
  11. <div align="center"><a class="friend_link" href="{profile_url login=$friend.login}">{$friend.nickname}</a></div>
  12. <div align="center"><a href="{profile_url login=$friend.login}">{$friend.avatar}</a></div>
  13. <div align="center">{$friend.flogdate}</div>
  14. </td>
  15. {if $col==6} </tr> {assign var="col" value="1"} {else} {math equation="x + 1" x=$col assign="col"} {/if}
  16. {/foreach}
  17. {if $col>1}<td colspan="{math equation="x - 6 + 1" x=$col}"> </td></tr>{/if}
  18. </table>
  19. </div>
  20. {/if}
  21. {/if}
Но друзья видны у обоих пользователей. scratch
#8 28 апреля 2012 в 17:46
SpideR-KOSS, а второй пользователь это $is_admin? glasses
#9 28 апреля 2012 в 17:53

SpideR-KOSS, а второй пользователь это $is_admin?

SJen
Нет, обычный зарегестрированный пользователь.
#10 28 апреля 2012 в 17:54
извеняюсь блок вывода ещё выше получается

{if $usr.friends_total}
<div class="usr_friends_block usr_profile_block">
изменения от этого кода
{if $myprofile || $is_admin}


{if $usr.friends_total}
<div class="usr_friends_block usr_profile_block">
{if $usr.friends_total > 6}
<div class="float_bar">
<a href="/users/{$usr.id}/friendlist.html">{$LANG.ALL_FRIENDS}</a> ({$usr.friends_total})
</div>
{/if}


<div class="usr_wall_header">
{$LANG.MY_FRIENDS}
</div>
{assign var="col" value="1"}
<table width="" cellpadding="5" cellspacing="0" border="0" class="usr_friends_list" align="left">
{foreach key=tid item=friend from=$usr.friends}
{if $col==1}<tr>{/if}
<td align="center" valign="top">
<div class="usr_friend_cell">
<div align="center"><a class="friend_link" href="{profile_url login=$friend.login}">{$friend.nickname}</a></div>
<div align="center"><a href="{profile_url login=$friend.login}">{$friend.avatar}</a></div>
<div align="center">{$friend.flogdate}</div>
</td>
{if $col==6} </tr> {assign var="col" value="1"} {else} {math equation="x + 1" x=$col assign="col"} {/if}
{/foreach}
{if $col>1}<td colspan="{math equation="x — 6 + 1" x=$col}"> </td></tr>{/if}
</table>
</div>
{/if}
{/if}
#11 28 апреля 2012 в 18:18
хотя впредыдущем недолжно на другом профиле выводить друзей пользователя
вывелсяб пустой блок
возможно кеш почистить
#12 28 апреля 2012 в 18:22

хотя впредыдущем недолжно на другом профиле выводить друзей пользователя вывелсяб пустой блок возможно кеш почистить

Олег
Все отлично, все сработало. Огромное спасибо. dance
Но в ленте все отображается, оттуда можно убрать? scratch
#13 28 апреля 2012 в 18:24
это нужно найти где добавляются пользователи в друзья
и сделат односторонее добавление
сейчас если пользователь добавит в друзья второго то второму добавится первый и естествено и в ленте пишется
#14 28 апреля 2012 в 18:28

это нужно найти где добавляются пользователи в друзья и сделат односторонее добавление сейчас если пользователь добавит в друзья второго то второму добавится первый и естествено и в ленте пишется

Олег
Ясно, большое Вам спасибо!!! v
Пойду тогда копать оповещения.
#15 28 апреля 2012 в 18:32
пожалуйста)))))
но вам нужно не оповещение копать а сам код добавление в друзья
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.