Компонент K2 и кнопки социальных сетей SocButtons

Заметки


Здравствуйте дорогие друзья и любители Joomla. Как я и обещал в посту System SocButtons – кнопки социальных сетей в сторонних расширениях Joomla начинаю серию постов, как добавлять кнопки социальных сетей SocButtons в сторонние расширения для Joomla. Сегодня будет первый из них, а именно Компонент K2 и кнопки социальных сетей SocButtons и я подробно расскажу как добавить (установить) кнопки социальных сетей в K2, и приведу наглядные примеры как кнопки Facebook Like, Вконтакте, Twitter, Google+ и другие будут выглядеть в K2.

Компонент K2 и кнопки социальных сетей SocButtons

Компонент K2 и кнопки социальных сетей SocButtons

И так, я напоминаю что ваша версия компонента K2 может отличатся от моей (в примере я использую K2 2.5.0) и номера строк в файле могут немного отличаться, по этому смотрите номер строки и код, потом ищите этот кусок кода у себя. Также напоминаю, что вам нужно установить для своей версии Joomla плагин кнопки социальных сетей SocButtons и надстройку System SocButtons. Не забываем настроить плагины и включить их.

Добавить в компонент K2 кнопки социальных сетей SocButtons

Сперва я расскажу как установить кнопки социальных сетей SocButtons перед текстом в K2, как это отображается в простых статьях Joomla. Для этого нам нужно:

  • открыть файл components\com_k2\templates\default\item.php
  • ищем приблизительно 197 строку кода, выглядит она так
    < div class="itemBody" >

    и сразу за ней вставляем тег {socbuttons}, получается так

    < div class="itemBody" >{socbuttons}
  • Сохраняем измененный файл item.php

В итоге у вас должно получится что кнопки соц сетей Facebook Like, Вконтакте, Twitter, Google+ и др. будут перед текстом:

Кнопки социальных сетей перед текстом в статье K2

Кнопки социальных сетей перед текстом в статье K2

Кнопки социальных сетей после текста в статье K2 (перед доп. полями)

Для того чтоб кнопки социальных сетей отображались после текста статьи K2 и перед дополнительными полями, нужно сделать следующее:

  • открыть файл components\com_k2\templates\default\item.php
  • найти строчку 254, которая имеет вид
    < ?php if($this->item->params->get('itemExtraFields') && count($this->item->extra_fields)): ? >

    и перед ней вписать тег {socbuttons}, все вместе будет выглядеть так

    {socbuttons} < ?php if($this->item->params->get('itemExtraFields') && count($this->item->extra_fields)): ? >
  • Сохраняем измененный файл item.php

После проделанных манипуляций кнопки социальных сетей Facebook Like, Вконтакте, Twitter, Google+ должны отображаться после текста K2

Кнопки SocButtons отображаются после текста K2 и перед дополнительными полями

Кнопки SocButtons отображаются после текста K2 и перед дополнительными полями

Заменяем стандартные социальные закладки K2 на кнопки социальных сетей

Я думаю вы со мной согласитесь, что социальные закладки уже изжили себя как средство популяризации сайта, а кнопки социальных сетей сейчас отыгрывают не последнюю роль в этом. По этому я покажу как заменить стандартные социальные закладки K2 на кнопки социальных сетей. Для этого нам нужно:

  • открыть файл components\com_k2\templates\default\item.php
  • найти строчку 346, выглядит она так
    < div class="itemSocialLinksBlock" >

    и заканчивается этот блок на 360 строке закрывающим дивом

    < /div >
  • удалить строчки от 346 до 360 включительно, а вместо всего вписать тег {socbuttons}
  • Сохранить измененный файл item.php

Если вы все правильно сделали, то вместо социальных закладок от K2 у вас будут кнопки социальных сетей от меня :-), а выглядеть это будет так:

Кнопки социальных сетей вместо социальных закладок K2

Кнопки социальных сетей вместо социальных закладок K2

И последним руководством будет установка кнопок социальных сетей в категории K2.

Установка кнопок социальных сетей Facebook Like, Вконтакте, Twitter, Google+ и др в категории K2

И так, вы добавили кнопки соц сетей на страницу с материалом, но вам этого мало и вы хотите добавить кнопки социальных сетей еще и в категории K2. Расскажу как добавить кнопки перед заголовком категории, то есть вверху. Для этого нужно:

  • открыть файл components\com_k2\templates\default\category.php
  • вставить в строку номер 24 тег {socbuttons}, эта строка между двумя условиями и получится так
    < ?php endif; ? >
    {socbuttons}
    	< ?php if($this->params->get('catFeedLink')): ? >
  • Сохранить измененный файл category.php

В итоге мы получаем милые кнопки соц сетей сразу после заголовка категории. Посмотреть можно в живую здесь шаблоны Joomla или просто на картинке:

Кнопки социальных сетей SocButtons в категории K2

Кнопки социальных сетей SocButtons в категории K2

Вот и все. Я надеюсь, что я описал все случаи которые вам понадобятся для добавления в K2 кнопок социальных сетей Facebook Like, Вконтакте, Twitter, Google+ и других и вы просто будете писать «спасибо» в комментариях. А если вдруг вам нужно вставить кнопки куда-то ну очень глубоко в K2 и вы не знаете как это сделать, то напишите в комментариях поподробнее что и куда, а я в свою очередь постараюсь вам помочь.

На этой оптимистической ноте я заканчиваю пост Компонент K2 и кнопки социальных сетей SocButtons. Желаю вам без проблем установить кнопки соц сетей в K2. Увидимся.

Joomla Блог Nauca – научись работать с Joomla

Хочешь получать на e-mail свежие статьи о компонентах, модулях, плагинах и других полезных вещах связанных с Joomla? Не пропусти ничего полезного, подпишись на новости блога Nauca:

  • Tim

    Очень большое спасибо! ))) 

  • джумлавод

    за K2 спасибо. можно узнать когда очередь за phocagllery и joomgallery?

    • Phoca Gallery будет следующей, потом VirtueMart, а потом уже и joomgallery

  • Tim

    странно, я использовал синтаксис {socbuttons} внутри шаблона, но почему-то обработки и вызова не происходило, выводилось необработтаная {socbuttons}. Собственно, это и подвигло меня задать вопрос в предыдущем топике.
    Спасибо за развернутый ответ и потраченное время! )) 

    • Ответил, в предыдущем топике. Смотрите внимательно на синтаксис и включенность двух плагинов.

  • Tim

    у меня после установки и вставки в шаблон K2 слетел шаблон сайта. Начал искать причину — оказалось на закрыт начальный div в файле socbuttons.php. Чтобы закрыть — раскомментить строку 245

    • С дивами в плагине все ок. Скорей всего вы в шаблоне удалили лишний div. И в плагине изначально нет закоментрированных дивов.

  • Le-cri-du-coeur

    Fatal error: Call to undefined method plgContentSocButtons::onBeforeDisplayContent() in /home/kmariink/public_html/plugins/system/socbuttons.php on line 87

    • Вы используете SocButtons 1.4, а System SocButtons работает пока только с версией 1.3

  • VirtueMart очень нужно

  • Thelostviking88

    после добавление в код К2 страница не загружается выводит белый бэкграунд и все

    • Опишите свои действия, чтобы можно было понять в чем может быть проблема.

    • Yesnoyes

      У меня аналогичная беда, что делать?

      • Напишите подробнее что вы делали, какой файл редактировали и какая версия K2 и я постараюсь вам помочь.

  • Sapphire

    Присоединяюсь к тем, кто ждет надстройку для joomla 1.7 Жду с нетерпением выхода. Если что-то стало известно по срокам напишите пожалуйста. Автору огромное спасибо за его труды

  • белый экран выходит

    • Включите отображение ошибок и посмотрите в чем проблема. Напишите сюда, помогу разобраться.

  • Михаил Устинов

    у меня SocButtons 1.4, в плагине System SocButtons на 87 строке заменил onBeforeDisplayContent на onBeforeDisplayContent
    вроде заработало:-)

    • у меня та же беда, только я не понял в чем суть замены? что вы поменяли?

  • IntFom Int_Fom

    Спасибо за статью!

  • joomla 1.7 + K2 v2.5.4 + sh404SEF выводиться не обработанный тег {socbuttons}… Что делать?

    • Скорее всего это из-за sh404SEF, будем искать причину и устранять ее.

      • Когда получится с этим разобраться? Очень надо… Или может альтернативу какую предложите?

  • Iuranemo

    Notice: Undefined property: stdClass::$catid in /home/user/data/www/site.ru/plugins/content/socbuttons/socbuttons.php on line 25
    Вот такое пишет при вставке в K2

    • Вам нужно отключить отображение предупреждений на сервере(хостинге)

  • Иван Селезнев

    Joomla! 2.5.1 (на 1.7.3 тоже самое), k2 2.5.4, SocButtons 1.4, System SocButtons 1.4. В материалах joomla 
    SocButtons 1.4 работает, а тэг {socbuttons) не работает, куда бы не вставлял, просто ничего не отображается. Оба плагина включены, настроены.  Помогите, пожалуйста, долбаюсь 3й день…

    • Попробуйте исключит одну из категорий в настройках SocButtons

      • Johnn Dorfman

        ответ некорректен, Вы забыли указать, что категории из com_content!!!

        • Замечание некорректно. В настройках плагина, категории только из com_content.

  • Johnn Dorfman

    Я ваще не пойму, на фига шаблон ковырять, когда в настройках К2 есть поле «свой код для соц. кнопок» — туда вставляем тэг {socbuttons} и наслаждаемся жизнью.

    • Иногда то место куда выводится кнопки не подходит для пользователей.

  • Serg

    Перепробовал все что только можно
    Вставлял {socbuttons} и в настройках К2, и после дива itemBody и пробовал что бы под текстом, и уже вариант вставки кода такой пробовал {socbuttons} все равно не работает. Версия SocButtons 1.3 но не работает тоже так как и 1.4 все что у меня появляется на страничке после вставки кода это просто текст: {socbuttons}
    Подскажите решение если у кого есть!

    • Roman

      также не работает везде кроме как в обычном материале. НЕ могу вывести не в каких компонентах, модулях….негде. Joomla 2.5.1 Плагины версии 1.4 все включено и настроено. (пробывал откл. другие плагины, вдруг конфликт) не помогло

      • Попробуйте исключить одну из категорий в настройках контентного плагина.

  • Esfront

    Здравствуйте! У меня возникла проблема. Устанавливаю данный плагин на Joomla 2.5, K2 2.5.4. Все прошло отлично, плагины привел в работоспособное состояние,  и проверил путем 

    Добавиления в компонент K2 кнопки социальных сетей SocButtons перед текстом в К2 (как вы указывали в первой рекомендации к данной статье «{socbuttons}» )
    Все получилось на славу. Далее я решил продвинуться глубже и воспользоваться рекомендацией по установке тега {socbuttons} перед item->params->get(‘itemExtraFields’) && count($this->item->extra_fields)): ? > На этом успешная реализация закончилась.
    Я попробовал заменять родные соцкнопки К2 на тег вывода предложенной, вставлять в других местах… ничего не выходит. Работает только в первом варианте и причем в статьях созданных на joomla а не на K2.
    Если сможете помогите решить данный вопрос.

  • Esfront

    Небольшое дополнение. 
    {socbuttons} на сайте не выводится в виде необработаного тега (в виде текста), акое ощущение, что он обрабатываеся. но не выводится. Так же пробовал ввести 
    {socbuttons} в настройках К2 — не помогло

    • Попробуйте исключить любую из категорий в настройках плагина. Должно помочь.

  • NIKOLYA

    ещё причина почему не выводится данный 
    тег {socbuttons}, его нужно прописывать не в шаблоне компонента к2, а в html папки Вашего шаблона сайта, уже там ищите com_k2 и дальше по схеме как описал автор.
    P.S.: автору большое спасибо, классная вещь, очень нужна, давно искал

    • Вы все правильно написали, но это только в том случае если вместе с шаблоном для сайта идет и шаблон для K2

      • NIKOLYA

        ну как доп. вариант, рассматриваем максимум проблем)

  • gillmor

    Здравствуйте. Сделал все как описано в инструкции, к сожалению блок с соц кнопками так и не появился. В html файле item.php так же нечего нет. Подскажите пожалуйста в чем дело.

    Joomla 2.5.1; K2 2.5.4

    Ссылку на сайт дать не могу, так как он находится на localhost.

    • Скорее всего у вас в шаблоне встроен стиль для K2 (папка html/com_k2), если есть то правте те файлы

      • gillmor

         Дело в том, что я создал свой шаблон для К2 и поместил в папку самого компонента. Соответственно позиционирование тега  {socbuttons} происходит в файле по пути componentscom_k2templatesmy_templatesitem.php, при этом соц кнопки не отображаются.

        Ради эксперимента попробовал сделать как писали вы tallib и NIKOLYA, так как у меня действительно шаблон с встроенным оформлением К2. Попытка результата не дала.Возможно ли, что ваш плагин не работает под joomla 2.5 или может быть причина в том, что сайт на locolhoste.

        • Если у вас в шаблоне есть стиль для K2, то править нужно его. Смотрите внимательно, возможно вы вставили тег в не то место.

  • Александр Сызонюк

    otice: Undefined property: stdClass::$catid in /home/urbaninu/domains/urban.in.ua/public_html/plugins/content/socbuttons/socbuttons.php on line 25      —  у меня вот тоже такая же ошибка. А где нужно поменять настройки что бы эта ошибка пропала ?…

    • Нужно поменять настройки php — отображение предупреждений и ошибок.

  • Конечно проводили. Возможно вы просто вставили после закрывающего тега или еще чего-то.

  • gillmor

    tallib>>Во общем разобрался я с вашим плагином. Дело было в том, что в socbuttons отвечающем за контент надо было в поле «Исключить категории» выбрать «Uncategorised» и все тогда заработало. Спасибо вам огромное за этот плагин. Очень нужная вещь.

    • AlterNat

      Добрый день, подключил плагины, выбрал «Вне разделов» в поле Исключить категории. Тогда кнопки убрались из джумловского контента, но не отображаются в содержимом К2! Смысл тогда ставить плагин! Возможно, что-то не так делаю, однако следовал описанному в статье.

      И еще, при выборе русского языка «мне нравится» на кнопке ФБ подлезает под следующую соц.кнопку. Как задать параметры расстояния между кнопками? 

  • Hollyangel

    Здравствуйте! Подскажите такую вещь, установил и включил плагины, в стандартном шаблоне к2 социальные кнопки отображаются и работают, а если выбираю другой шаблон к2 для отображения материалов, то уже социальные кнопки не отображаются. Что это может быть?

    • Значит нужно добавить тег {socbuttons} в другой шаблон

      • Hollyangel

        попробуем

  • А ларчик просто открывался: вчера весь день делала выше приведенные способы ничего не рабтало. Сегодня зашла в плагины и обнаружила что данный плагин состоит из двух и часть 
    System — SocButtons был просто выключенным, т.е Content — SocButtons я включила а вторую часть нет. Теперь у меня все работает.

  • Alli

    joomla 2.5.6, K2 2.5.7. system-socbuttons 1.4 напроч отказывается работать. Ни вставки в шаблоны, ни в статьи, ни изменения самого тега {socbuttons} не заставляют сию конструкцию работать. Тега нет в html-коде страницы в браузере вообще. На страницах с    тегом IFRAME остается необработанный {socbuttons}. 
    Подскажите, пожалуйста, как заставить его работать.

  • Роман

    Добрый день! Можно ли как-то присвоить css класс соц. кнопкам или как-нибудь выравнивать по краям?

    • Там уже присвоен класс socbuttons можете его использовать

  • Dj Os

    У меня лайки феусбука в к2 не работают, хотя в тоже время в обычной статье работаю без проблем. Жму на кнопочку и ничего не происходит, все остальные работают .Почему?

  • Дмитрий

    Огромное спасибо….Нерельано выручили…..Спасибо….Небольшое замечание сделаю…В комментариях текст шрифта белый…+ серый фон…плохо видать…

  • проверите включен ли системный плагин и выключено ли кеширование сайта в общих настройках

    • Андрей

      Все включено, не первый год с джумлой, да и с другими движками. Кеш отключен, на всякий случай почищен…

  • Astrologus

    ст 306 по ст348 все удаляем и ставим {socbuttons} все работает

  • Ольга Рыбак

    Fatal error: Call to undefined method plgContentSocButtons::onContentPrepare() in /home/virtwww/w_kropotkin_cv-rf_554d2874/http/plugins/system/socbuttons/socbuttons.php on line 88

    Подскажите что делать?