
Как заменить соцсети в Kunena 4, чтобы добавить ВКонтакте, Одноклассники, Мой Мир и любые другие нужные для вас сервисы.
По умолчанию в компоненте форума Kunena в профиле пользователя имеется довольно большой набор социальных сервисов. Большинством из этих социалок русскоязычные пользователи даже не знакомы, а вот привычные для обывателя ВКонтакте и Одноклассники отсутствуют.
Поэтому каждый Куненщик рано или поздно задумывается над тем, есть ли возможность заменить в Кунене ненужные буржуйские социалки на более родные нашему пользователю ВК, ОК и другие.
Как добавить вконтакте и одноклассники в кунену
Для этого есть два способа решения данной проблемы. Первый - добавить полностью новые соцсети, второй - подменить ненужные буржуйские на родные для наших пользователей.
Первый способ занимает много времени - нужно создать новые колонки в базах данных, затем дописать везде новые социалки в PHP, прописать стили в CSS. Сделать всё это довольно таки сложно и можно легко допустить ошибку. Поэтому остановимся на втором варианте.
Самый быстрый и простой способ - это подменить значения уже имеющихся в Кунене ненужных вам социалок на нужные для нас.
Для этого нужно будет сделать следующее:
- переделать спрайт
- изменить внешние ссылки на соцсети
- поправить перевод.
Начну с самого сложного момента в этом действии.
Необходимо перепилить вот этот куненовский спрайт и подменить в нём иконки заменяемых социалок на новые, которые Вы будете добавлять.
Путь к спрайту:
Редактируем ссылки ненужных соцсетей на свои
Делается это в файле user.php
Путь к файлу:
Открываем данный файл в редакторе кода. Начиная со строки 1251 - идёт блок с формирование ссылок для вывода их в профиле пользователя.
Выглядит он вот так:
public function socialButton($name, $gray = false)
{
$social = array ('twitter' => array ('url' => 'http://twitter.com/##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_TWITTER' ), 'nourl' => '0' ),
'facebook' => array ('url' => 'http://www.facebook.com/##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_FACEBOOK' ), 'nourl' => '0' ),
'myspace' => array ('url' => 'http://www.myspace.com/##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_MYSPACE' ), 'nourl' => '0' ),
'linkedin' => array ('url' => 'http://www.linkedin.com/in/##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_LINKEDIN' ), 'nourl' => '0' ),
'delicious' => array ('url' => 'http://delicious.com/##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_DELICIOUS' ), 'nourl' => '0' ),
'friendfeed' => array ('url' => 'http://friendfeed.com/##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_FRIENDFEED' ), 'nourl' => '0' ),
'digg' => array ('url' => 'http://www.digg.com/users/##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_DIGG' ), 'nourl' => '0' ),
'skype' => array ('url' => '##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_SKYPE' ), 'nourl' => '1' ),
'yim' => array ('url' => '##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_YIM' ), 'nourl' => '1' ),
'aim' => array ('url' => '##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_AIM' ), 'nourl' => '1' ),
'gtalk' => array ('url' => '##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_GTALK' ), 'nourl' => '1' ),
'msn' => array ('url' => '##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_MSN' ), 'nourl' => '1' ),
'icq' => array ('url' => 'http://www.icq.com/people/cmd.php?uin=##VALUE##&action=message', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_ICQ' ), 'nourl' => '0' ),
'blogspot' => array ('url' => 'http://##VALUE##.blogspot.com/', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_BLOGSPOT' ), 'nourl' => '0' ),
'flickr' => array ('url' => 'http://www.flickr.com/photos/##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_FLICKR' ), 'nourl' => '0' ),
'bebo' => array ('url' => 'http://www.bebo.com/Profile.jsp?MemberId=##VALUE##', 'title' => JText::_ ( 'COM_KUNENA_MYPROFILE_BEBO' ), 'nourl' => '0' )
);
Тут хочу обратить ваше внимание на значение ##VALUE##
постоянно встечающееся в данном коде. Это значение берётся из таблицы Базы Данных и соответствует классу каждой заданной соцсети: twitter, facebook и т.д.
Данные значения для ##VALUE##
пользователь указывает в редактировании профиля, когда заполняет поля социальных сетей:

Возьмём на примере твиттера (строка 1253). В ней вот эта часть выводит ссылку на твиттер-аккаунт пользователя:
url' => 'http://twitter.com/##VALUE##',
При этом пользователю при редактировании профиля необходимо указать только свой ID (без http://twitter.com)
А если эту часть кода отредактировать вот так:
url' => '##VALUE##',
Тогда пользователю прийдётся указать при заполнении весь урл на свой аккаунт (https://twitter.com/Inter_Net_PRO).
В коде меняем только ссылки, все остальные части не трогаем.
например, чтоб вместо твиттера вставить вк, нужно
url' => 'http://twitter.com/##VALUE##',
// меняем на
url' => 'http://vk.com/##VALUE##',
Чтобы была ссылка на другой профиль (допустим от родной джумлы или от CB), на другой форум или к примеру на ютуб канал, нужно соблюсти правильный путь и вложенность (3-ий уровень и выше) и заранее прописать это в ссылке, чтобы пользователь вашего форума указывал только свой ID.
С вложенными страницами 3-го уровня и выше будет вот такой код:
// для ютуба
url' => 'https://www.youtube.com/c/##VALUE##',
// для другого сайта
url' => 'http://ваш_сайт/users/##VALUE##',
Думаю это несложно и быстро разберётесь.
Так что пойдём дальше к последнему пункту действий.
Редактируем перевод
После того как Вы подправили ссылки, обязательно необходимо подправить значения заменённых вами социальных сетей в файле перевода.
Название файла: ru-RU.com_kunena.templates.ini
Путь к файлу:
Блок начиная с 369-ой строки.
Высматриваете и правите на свой вариант, но не забывайте про кавычки по краям текста.
Если Вы сделаете всё правильно, у пользователей вашего форума появится возможность добавлять ссылки на свои аккаунты в добавленных вами соцсетях.
Так же, хочу дать вам следующее напутствие:
Обязательно сделайте текстовую карту своих действий (в блокноте или в документе) что на что вы меняете, чтоб при обновлении (если что) можно было быстро подправить (со временем действия подзабываются). Вместе со спрайтом этот документик заархивируйте и закиньте этот архивчик куда ни будь на сайт. Хранить только на компьютере не рекомендую - имеется личный "горький опыт"
потери операционки вместе со всем содержимым компьютера.
После того, как Вы выполните описанные выше действия, я рекомендую вам убрать иконки ненужных вашему форуму соцсетей, а так же удалить ненужные поля при редактировании профиля пользователя.
О том как это сделать, читайте: Удаляем иконки и поля ненужных соцсетей в Kunena

В Кунена имеется возможность добавления пользователем в свой аккаунт ссылки на свои профили в различных соцсетях. Среди них фейсбук, твиттер, скайп, аська и много других.
Но не для каждого форума подходит данный набор социальных сервисов. К примеру сайт знакомств Bebo вряд ли подойдёт для компьютерного или строительного форума. Или к чему для русскоязычной аудитории такие сайты как Friendfeed, myspace, Delicious и Flirc у которых нет русского языка в интерфейсе? Социалки в профиле пользователей Кунена
На этом всё Вопросы можно оставлять в комментариях ниже.
Удачного вам сайтостроения!!!
*** Авторизируйтесь чтобы писать комментарии.