Продолжаем расширять социальность Инстант кмс. Модуль "Друзья друзей" или "Вы знакомы?", наподобие модуля в Одноклассниках.
Предвижу злобные минусы и комментарии нелюбителей Одноклассников и Вконтакте. Но, учитывая, что сайты на нашем любимом Инстанте всё более разрастаются, думаю, кому-нибудь да пригодится.
Задумка сама по себе казалась простой. Но в процессе творения захотелось более интересного функционала. Поэтому решил применить js, jQuery и ajax (ура-а-! добрался я до них).
Итак, что имеем на выходе. В модуле выводятся друзья друзей. Естественно, модуль показывается только авторизованному пользователю. В админке можно настроить как выводить, горизонтально или вертикально и выбрать количество для показа. В списке есть ссылка "Общие друзья" со счетчиком общих друзей и "Дружить". При клике по первой выводится диалоговое окно со списком общих друзей, по второй перекидывает на страницу подтверждения предложения дружить. Если общее количество друзей у друзей больше, чем количество для показа с настроек, появляется ссылка "Показать ещё", при клике по которой производится перетусовка друзей у друзей и ajax подгрузка модуля. Можете посмотреть скрин:
Установка модуля стандартная. Архив заливаем в корень сайта и устанавливаем модуль в админке (кнопка "Установить модуль" в меню "Все модули" (шестеренка с плюсиком)).
Для тех, кому не нравится вид диалогового окна и кто, знает что делает вот ссылка настроек виджета Dialog, где описание виджета и ссылка на страницу настраиваемой закачки, откуда можно скачать любой дизайн окна. Скачиваете тему и заменяете папку jquery-ui-1.8.16.custom с директории модуля на папку вашей темы. Только не забудьте потом поменять ссылку на css файл вашей темы в файле шаблона модуля.
Демо. Ах, да! Демо можете посмотреть в одноклассниках ))) А если серьезно. Демо нет. Установите и посмотрите. Не понравится удалите ).
Тестировалось на локалхосте. Как говорится, свежий с печки. Кроме стандартного запроса модуля в БД ничего не меняется. Возможен конфликт с другими js расширениями. Это уже как повезет ).
Приятного пользования!
— ссылка "Все друзья друзей", при нажатии на которую появляется окошко со всеми друзьями друзей
— разметка содержимого диалоговых окон выведен в отдельный .tpl файл. Теперь стало два .tpl файла, которые найдете по соответствию названия модуля.
-возможность вывода в самом модуле пользователей в 1,2,3… колонок(устанавливается в админке "горизонтальная таблица" и количество колонок). Поскольку прежний "Вертикальный" показ является частным случаем последнего(число колонок=1), можно было бы убрать с настроек. Но оставил для удобства настроек.
-возможность указать числа настроек при показе всех друзей у друзей в окне(устанавливаем в админке).
-поменял цвет шапки диалоговых окон. Когда просили помочь, заходил на сайты, где установлен модуль. Заметил, что нигде дизайн окошек не поменяли. Оранжевый цвет начал раздражать. Поменял на более спокойный. Кому не нравится, опять же, включаем Firebag и вперед.
-в списках пользователей будет выводиться онлайн статус.
Установка: Заливаем архив, в админке "Установить модуль" и обновляем или устанавливаем модуль, в зависимости от того был ли он установлен.
Убрал запросы в БД в цикле. Теперь в файлах максимум 2 запроса в БД и не будет превышать лимит хостера.
Рекомендую всем, кто ставил предыдущие версии, обновиться. Установка: см.версию 1.1.0, хотя можно просто заменить вышеуказанные файлы. Архивы предыдущих версий удалил. Тем, у кого не работало, попробуйте новую версию. Возможно, заработает. Имеется ввиду у кого окно общих друзей появлялось, но не грузилось содержимое.
Скачать последнюю версию.
Привет хостеру! )))
Предвижу злобные минусы и комментарии нелюбителей Одноклассников и Вконтакте. Но, учитывая, что сайты на нашем любимом Инстанте всё более разрастаются, думаю, кому-нибудь да пригодится.
Задумка сама по себе казалась простой. Но в процессе творения захотелось более интересного функционала. Поэтому решил применить js, jQuery и ajax (ура-а-! добрался я до них).
Итак, что имеем на выходе. В модуле выводятся друзья друзей. Естественно, модуль показывается только авторизованному пользователю. В админке можно настроить как выводить, горизонтально или вертикально и выбрать количество для показа. В списке есть ссылка "Общие друзья" со счетчиком общих друзей и "Дружить". При клике по первой выводится диалоговое окно со списком общих друзей, по второй перекидывает на страницу подтверждения предложения дружить. Если общее количество друзей у друзей больше, чем количество для показа с настроек, появляется ссылка "Показать ещё", при клике по которой производится перетусовка друзей у друзей и ajax подгрузка модуля. Можете посмотреть скрин:
Установка модуля стандартная. Архив заливаем в корень сайта и устанавливаем модуль в админке (кнопка "Установить модуль" в меню "Все модули" (шестеренка с плюсиком)).
Для тех, кому не нравится вид диалогового окна и кто, знает что делает вот ссылка настроек виджета Dialog, где описание виджета и ссылка на страницу настраиваемой закачки, откуда можно скачать любой дизайн окна. Скачиваете тему и заменяете папку jquery-ui-1.8.16.custom с директории модуля на папку вашей темы. Только не забудьте потом поменять ссылку на css файл вашей темы в файле шаблона модуля.
Демо. Ах, да! Демо можете посмотреть в одноклассниках ))) А если серьезно. Демо нет. Установите и посмотрите. Не понравится удалите ).
Тестировалось на локалхосте. Как говорится, свежий с печки. Кроме стандартного запроса модуля в БД ничего не меняется. Возможен конфликт с другими js расширениями. Это уже как повезет ).
Приятного пользования!
Версия 1.1.0
Добавлено:— ссылка "Все друзья друзей", при нажатии на которую появляется окошко со всеми друзьями друзей
— разметка содержимого диалоговых окон выведен в отдельный .tpl файл. Теперь стало два .tpl файла, которые найдете по соответствию названия модуля.
-возможность вывода в самом модуле пользователей в 1,2,3… колонок(устанавливается в админке "горизонтальная таблица" и количество колонок). Поскольку прежний "Вертикальный" показ является частным случаем последнего(число колонок=1), можно было бы убрать с настроек. Но оставил для удобства настроек.
-возможность указать числа настроек при показе всех друзей у друзей в окне(устанавливаем в админке).
-поменял цвет шапки диалоговых окон. Когда просили помочь, заходил на сайты, где установлен модуль. Заметил, что нигде дизайн окошек не поменяли. Оранжевый цвет начал раздражать. Поменял на более спокойный. Кому не нравится, опять же, включаем Firebag и вперед.
-в списках пользователей будет выводиться онлайн статус.
Установка: Заливаем архив, в админке "Установить модуль" и обновляем или устанавливаем модуль, в зависимости от того был ли он установлен.
Версия 1.2.0
Оптимизированы запросы в БД. Переделаны файлы module.php и /ajax/general_friends.phpУбрал запросы в БД в цикле. Теперь в файлах максимум 2 запроса в БД и не будет превышать лимит хостера.
Рекомендую всем, кто ставил предыдущие версии, обновиться. Установка: см.версию 1.1.0, хотя можно просто заменить вышеуказанные файлы. Архивы предыдущих версий удалил. Тем, у кого не работало, попробуйте новую версию. Возможно, заработает. Имеется ввиду у кого окно общих друзей появлялось, но не грузилось содержимое.
Скачать последнюю версию.
Привет хостеру! )))
Пока поставил - открывать в новом окне.
И отключил показ в профиле - конфликт с вкладками.
Насчет перехода на страницу добавления в друзья, не совсем понял вас. Вообще убрать ссылку? Это можно сделать в файле шаблона. Или в новом окошке? Просто использовал обычную ссылку, по которой добавляются друзья на сайте. Не стал заморачиваться )
Кто-то здесь уже делал например добавление аватара без перехода на страницу аватара. Всё а одной странеце делается.
Но Это конечно в идеале.
Конфликт происходит с подключенным в файле com_users_profile.tpl
Надо просто собрать одну библиотеку.
А вы, вообще, обновляли jQuery? Может причина в этом. Эх! Плохо пока разбираюсь в jQuery. Может гуру что подскажут.
Хотя на локалхосте, я админом видел друзей у друзей.
Имейте ввиду, что модуль показывается, только если у вас есть друзья, у них есть друзья. И не показываются друзья друзей, которые уже в ваших друзьях.
А выставляя доступ к модулю определенным группам, вы разрешаете доступ им к модулю. То есть, если даже есть друзья у друзей и нет доступа, группа просто не увидит модуль.
Повторюсь, увидите только тех друзей у друзей, которые не являются вашими друзьями. Логика такая. Поэтому и название модуля во фронтэнде "Вы знакомы?". То есть, если пользователь уже в ваших друзьях, какой смысл его выводить в модуль.
Отпишитесь в личку поконкретнее. Сделайте демо-пользователя. Посмотрю что не так.
Хотя это для меня не смертельно. Главное чтобы все остальные видели
Я ведь не телепат. По идее даже для главного админа всё должно работать. В коде нет такого разделения.
Пример установочного файла \modules\mod_actions\install.php
Я видел этот файл. Только не знал, будет ли выводиться установка в админке. Добавлю инсталлятор.
лучше звучит "Друзья друзей", чем "Вы знакомы?"
При выборе позиции sidebar выводится просто пустое пространство.
При выборе любых других позиций даже его нет.
В чем проблема?
в админке есть на сайте нет
В общем открыть надо файл "templates / _default_ / modules / mod_friends_of_friends.tpl"
и в самом конце увидите <div> А надо </div>. Вместо закрывающего, стоит открывающий тэг
и получается два открывающих.
вместо строчки -
Юзертайпом у меня стоят вместе. Конфликта нет почему то.
Не показывает, кто именно общие друзья с тем или иным пользователем.
за старания спасибо.
Если не справитесь, на днях постараюсь сделать.
Спасибо
Почти все пожелания попытался реализовать. Кроме добавления в друзья в окошке. Не стал делать, итак уже тяжеловесный модуль получается. Что добавлено и ссылка на скачивание выше в блоге.
каждый час стал останавливать!
могут быть эти факты взаимосвязанны?
1. После установки количество запросов к базе сразу зашкаливает за красный предел хостера.
2. Даже установленный, модуль не работает в полной мере. - все ссылки (общиее друзья, все общие друзья, еще...) не работают.
и естественно: полный конфликт с табами у юзера, у предприятия, и карту (instantmaps) глушит напрочь.
Готов заплатить 200 р за более шустрый и менее нагружающий сервер модуль!
Кто ещё присоединиться?
Только побыстрее, Пожалуйста! оч. нужный модуль!
Теперь хостер не будет ругаться ) Даже, если у вас 250 друзей. Переделал файлы. Скачать можно в блоге. В конце поста.
"Все друзья друзей"
при нажатии просто идет страница наверх-они не кликаются!
Как это можно исправить ?
Заранее спасибо !
Какая версия браузера у вас? Версия Java? За отображение отвечают .tpl файлы. Попробуйте поиграться с ними. Может что посоветуют господа дизайнеры. Кроссбраузерность ихняя стихия.
Берите FireBag и ищите с чем конфликтует. Это конфликт jQuery.
Адаптация под ICMS 1.10