Продолжаем расширять социальность Инстант кмс. Модуль "Друзья друзей" или "Вы знакомы?", наподобие модуля в Одноклассниках.
Предвижу злобные минусы и комментарии нелюбителей Одноклассников и Вконтакте. Но, учитывая, что сайты на нашем любимом Инстанте всё более разрастаются, думаю, кому-нибудь да пригодится.
Задумка сама по себе казалась простой. Но в процессе творения захотелось более интересного функционала. Поэтому решил применить 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, хотя можно просто заменить вышеуказанные файлы. Архивы предыдущих версий удалил. Тем, у кого не работало, попробуйте новую версию. Возможно, заработает. Имеется ввиду у кого окно общих друзей появлялось, но не грузилось содержимое.
Скачать последнюю версию.
Привет хостеру! )))
Реклама #
abasia 13 лет назад #
fact 13 лет назад #
fact 13 лет назад #
Пока поставил - открывать в новом окне.
И отключил показ в профиле - конфликт с вкладками.
Марат 13 лет назад #
Насчет перехода на страницу добавления в друзья, не совсем понял вас. Вообще убрать ссылку? Это можно сделать в файле шаблона. Или в новом окошке? Просто использовал обычную ссылку, по которой добавляются друзья на сайте. Не стал заморачиваться )
fact 13 лет назад #
Кто-то здесь уже делал например добавление аватара без перехода на страницу аватара. Всё а одной странеце делается.
Но Это конечно в идеале.
Марат 13 лет назад #
fact 13 лет назад #
Марат 13 лет назад #
Конфликт происходит с подключенным в файле com_users_profile.tpl
Надо просто собрать одну библиотеку.
А вы, вообще, обновляли jQuery? Может причина в этом. Эх! Плохо пока разбираюсь в jQuery. Может гуру что подскажут.
vitalson9 13 лет назад #
Марат 13 лет назад #
vitalson9 13 лет назад #
Марат 13 лет назад #
Хотя на локалхосте, я админом видел друзей у друзей.
Имейте ввиду, что модуль показывается, только если у вас есть друзья, у них есть друзья. И не показываются друзья друзей, которые уже в ваших друзьях.
А выставляя доступ к модулю определенным группам, вы разрешаете доступ им к модулю. То есть, если даже есть друзья у друзей и нет доступа, группа просто не увидит модуль.
vitalson9 13 лет назад #
vitalson9 13 лет назад #
Марат 13 лет назад #
Повторюсь, увидите только тех друзей у друзей, которые не являются вашими друзьями. Логика такая. Поэтому и название модуля во фронтэнде "Вы знакомы?". То есть, если пользователь уже в ваших друзьях, какой смысл его выводить в модуль.
Отпишитесь в личку поконкретнее. Сделайте демо-пользователя. Посмотрю что не так.
fact 13 лет назад #
Хотя это для меня не смертельно. Главное чтобы все остальные видели
Марат 13 лет назад #
Я ведь не телепат. По идее даже для главного админа всё должно работать. В коде нет такого разделения.
Настёна 13 лет назад #
Fuze 13 лет назад #
Пример установочного файла \modules\mod_actions\install.php
Марат 13 лет назад #
Я видел этот файл. Только не знал, будет ли выводиться установка в админке. Добавлю инсталлятор.
ssh2k 13 лет назад #
Александр 13 лет назад #
Марат 13 лет назад #
lezginka.ru 13 лет назад #
лучше звучит "Друзья друзей", чем "Вы знакомы?"
Марат 13 лет назад #
Artyom Agalakov 13 лет назад #
При выборе позиции sidebar выводится просто пустое пространство.
При выборе любых других позиций даже его нет.
В чем проблема?
Алексей Т 13 лет назад #
в админке есть на сайте нет
russianru 13 лет назад #
Слава 13 лет назад #
В общем открыть надо файл "templates / _default_ / modules / mod_friends_of_friends.tpl"
и в самом конце увидите <div> А надо </div>. Вместо закрывающего, стоит открывающий тэг
и получается два открывающих.
Слава 13 лет назад #
Марат 13 лет назад #
fact 13 лет назад #
fact 13 лет назад #
вместо строчки -
Марат 13 лет назад #
Марат 13 лет назад #
Юзертайпом у меня стоят вместе. Конфликта нет почему то.
fact 13 лет назад #
Марат 13 лет назад #
vitalson9 13 лет назад #
Dobriu 12 лет назад #
Марат 12 лет назад #
Dobriu 12 лет назад #
Марат 12 лет назад #
Dobriu 12 лет назад #
Patriot 13 лет назад #
russianru 13 лет назад #
Марат 13 лет назад #
Марат 13 лет назад #
Слава 13 лет назад #
Artyom Agalakov 13 лет назад #
Не показывает, кто именно общие друзья с тем или иным пользователем.
Марат 13 лет назад #
Artyom Agalakov 13 лет назад #
Apsua 13 лет назад #
за старания спасибо.
Telema93 13 лет назад #
Алексей Т 13 лет назад #
nikitka 13 лет назад #
nikitka 13 лет назад #
Марат 13 лет назад #
Алексей Т 13 лет назад #
Марат 13 лет назад #
Марат 13 лет назад #
Если не справитесь, на днях постараюсь сделать.
Алексей Т 13 лет назад #
Спасибо
nikitka 13 лет назад #
Марат 13 лет назад #
Марат 13 лет назад #
Почти все пожелания попытался реализовать. Кроме добавления в друзья в окошке. Не стал делать, итак уже тяжеловесный модуль получается. Что добавлено и ссылка на скачивание выше в блоге.
Graf 13 лет назад #
каждый час стал останавливать!
могут быть эти факты взаимосвязанны?
Марат 13 лет назад #
Марат 13 лет назад #
NIKITA 13 лет назад #
NIKITA 13 лет назад #
lezginka.ru 13 лет назад #
Марат 13 лет назад #
Graf 13 лет назад #
1. После установки количество запросов к базе сразу зашкаливает за красный предел хостера.
2. Даже установленный, модуль не работает в полной мере. - все ссылки (общиее друзья, все общие друзья, еще...) не работают.
и естественно: полный конфликт с табами у юзера, у предприятия, и карту (instantmaps) глушит напрочь.
fact 13 лет назад #
nikitka 13 лет назад #
Марат 13 лет назад #
fact 13 лет назад #
Готов заплатить 200 р за более шустрый и менее нагружающий сервер модуль!
Кто ещё присоединиться?
Только побыстрее, Пожалуйста! оч. нужный модуль!
abasia 13 лет назад #
Петруха 13 лет назад #
Марат 13 лет назад #
Теперь хостер не будет ругаться ) Даже, если у вас 250 друзей. Переделал файлы. Скачать можно в блоге. В конце поста.
abasia 13 лет назад #
nikitka 13 лет назад #
"Все друзья друзей"
при нажатии просто идет страница наверх-они не кликаются!
vitalson9 13 лет назад #
Марат 13 лет назад #
Graf 13 лет назад #
Марат 13 лет назад #
nikitka 13 лет назад #
NIKITA 13 лет назад #
Марат 13 лет назад #
Виктор Кел 13 лет назад #
Как это можно исправить ?
Заранее спасибо !
Марат 13 лет назад #
Какая версия браузера у вас? Версия Java? За отображение отвечают .tpl файлы. Попробуйте поиграться с ними. Может что посоветуют господа дизайнеры. Кроссбраузерность ихняя стихия.
Виктор Кел 13 лет назад #
olegan 13 лет назад #
Марат 13 лет назад #
Def 12 лет назад #
Марат 12 лет назад #
Берите FireBag и ищите с чем конфликтует. Это конфликт jQuery.
mogulkhan 12 лет назад #
Марат 12 лет назад #
Марат 12 лет назад #
Адаптация под ICMS 1.10
fact 12 лет назад #
Николай 11 лет назад #
mullo 10 лет назад #