Медная поляна

Сделал плагин для Maxsite CMS, который позволяет выводить после текста записи кнопки социальных сетей. Хотя плагин получился весьма узконаправленным, тем не менее, он кое-что умеет:

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

    Поддержка drag-n-drop в плагине Социальные кнопки

  • Выбор внешнего вида, размера и прочих параметров кнопок осуществляется прямо в настройках плагина, нет необходимости изучать API (правда, для работы виджета «Мне нравится» все же придется посетить соцсеть «ВКонтакте», чтобы получить уникальный ID).
  • Загрузка скриптов, необходимых для работы кнопок происходит без блокировки загрузки остального контента. Для современных браузеров не так уж и актуально, а вот старикам, например, IE 8, пригодится. Тут я воспользовался готовым решением Алексея Симоненко.
  • Можно указать дополнительные стили (CSS) для точной подстройки местоположения кнопок.

Версия 1.4 #

Добавлены кнопки: Одноклассники, Мой мир, «Опубликовать» ВКонтакте.

Теперь на странице плагина присутствует панель навигации для быстрого перемещения по настройкам кнопок (быстрый переход будет работать только на Maxsite CMS 0.75 и выше).

Быстрое перемещение по настройкам в плагине Социальные кнопки

Кроме того, у каждой ячейки таблицы, в которой выводится конкретная кнопка появился свой уникальный класс.

Версия 1.6 #

  • Добавлена кнопка Pocket (бывший Read It Later)
  • Теперь перед и после блока кнопок можно указать свой текст.
  • Добавлена возможность указать страницы, для которых кнопки показываться не будут.
  • Другие мелкие изменения.

Версия 1.7 #

  • Больше никаких таблиц! Теперь кнопки на сайте выводятся внутри div-блока, что позволяет с помощью CSS более гибко подстроить их положение. Может пригодиться при верстке мобильной версии сайта.
  • В боковую навигационную панель добавлена кнопка «Сохранить».

  • Кнопка

  • Обновлены изображения кнопок в админке (Facebook, Google, Виджет ВКонтакте) согласно их текущему внешнему виду.
  • Оптимизирована работа плагина. В этой версии изменен вывод боковой панели, поэтому на версиях CMS ниже 0.853 боковая навигация недоступна.

Внимание! При наличии версии 1.0 перед обновлением сначала необходимо деинсталлировать старую версию плагина. После этого также желательно удалить папку старой версии.

После обновления на версию 1.7 c предыдущих версий потребуется поправить CSS. В настройках плагина надо добавить следующие стили:

.social-buttons_grid {display: table; width: 100%; margin: 1em 0;}
.social-buttons_cell {display: table-cell;}

Если что-то не получилось, напишите мне.

Наглядный результат работы плагина вы можете видеть чуть ниже.

Скачать: social_buttons.zip 370

P.s. Для просмотра статистики по кнопкам можно воспользоваться плагином Социальный счетчик за авторством librarian.

28 комментариев

Не планируешь старый шаблон в сообщество отдать?

@librarian, как то даже не думал об этом. Может быть, когда-нибудь ;)

Руслан

Добавление "Одноклассников" и "Мой Мир" было бы круто. И даже объясню почему.

Бесспорно, они я рядом не валялись с твитерами, фейсами, гуглами+ и вк, НО

есть ниши(например моя) в которых основная целевая аудитория, как раз таки в этих социалках и сидит.

Это разные дяденьки и тетеньки за 45-50 лет. Из которых 90% с компом на "ВЫ".

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

Почему огромная просьба добавить эти две социалки.

Серёга

Не отображается кнопка лайка вконтакте.

И по ходу у вас тоже.

Версия системы - последняя.

Буду ждать обновлений плагина :)

Серёга

Кнопка вконтакте появляется один раз из 10 при загрузке страницы.

Может и реже.

Но факт в том, что иногда она у меня появляется.

Смотрел в хроме и лисичке.

Приятная форма для отправки комментария.

Только вот при отправке коммента с заполненными полями ничего не сказало и кинуло на главную.

Может уже есть регистрация с таким мылом?

Проверить не удалось т.к. при нажатии Восстановить пароль отправило на .../password-recovery

Догадался что нужно cuprum.name/password-recovery

Но, опять эта особая форма восстановления в maxsite

В своем ящике не нашел код активации. Неужели недостаточно ввести просто мыло?

@Андрей у меня установлены настройки "Автоматическая активация новых комюзеров". Так что активация не требуется.

Ссылку поправил, спасибо!

Сергей

Скажите, а почему кнопки в таблице размещены, а не в дивах?

Это какие то особенности кнопок?

Скажите, а почему кнопки в таблице размещены, а не в дивах?

Проще выравнивать.

Сергей

Ясно, я просто хотел их в столбик сделать. Таблицу вообще неудобно работать.

А можно добавить в плагин еще три настройки:

1. Текст перед кнопками.

2. Текст после кнопок.

3. Сделать выбор по горизонтали или вертикали.

А можно добавить в плагин еще три настройки:

Хорошо, настройки текста будут в следующей версии. По ориентации надо покумекать...

Michael

А можно как-то отображать сами кнопки на страницы произвольно, не использую хук контента? Хочется сделать вывод например, после мета-поля или сразу после header. Как это можно сделать?

Как это можно сделать?

C помощью настроек плагина никак. Если готовы ковырять плагин и шаблон посмотрите тему на форуме http://forum.max-3000.com/viewtopic.php?f=6&t=4070&start=0. Может натолкнуть на правильные мысли, если разбираетесь в PHP.

Было бы удобно иметь возможность просто вызвать функцию, и передать ей в параметрах url, title, description, чтобы можно было вставить в произвольном месте сайта.

Например это было бы удобно для предыдущего пользователя, или чтобы сделать страничку со списком страниц, на котором можно было бы посмотреть некоторую статистику по активности в соцсетях (сейчас приходится руками ходить по страницам и смотреть)

@librarian

Да тут можно многое нагородить, но как? Я ж не пхпист ;)

@Cuprum

Посмотрю, что можно сделать :) Мне всё равно такая штука нужна :)

Багрепорт.

MS 0.81 не работает перетаскивание кнопок, в консоль Firefox пишет:

[05:21:13.565] TypeError: e.widget.extend is not a function @ http://XXX/application/maxsite/plugins/social_buttons/js/jquery-ui-1.9.0.custom.min.js:6

Chrome:

Uncaught TypeError: Object function (E,D){var F=E.split(".")[0];E=E.split(".")[1];C.fn[E]=function(J){var H=(typeof J=="string"),I=Array.prototype.slice.call(arguments,1);if(H&&A(F,E,J)){var G=C.data(this[0],E);return(G?G[J].apply(G,I):undefined)}return this.each(function(){var K=C.data(this,E);if(H&&K&&C.isFunction(K[J])){K[J].apply(K,I)}else{if(!H){C.data(this,E,new C[F][E](this,J))}}})};C[F][E]=function(I,H){var G=this;this.widgetName=E;this.widgetBaseClass=F+"-"+E;this.options=C.extend({disabled:false},C[F][E].defaults,H);this.element=C(I).bind("setData."+E,function(L,J,K){return G.setData(J,K)}).bind("getData."+E,function(K,J){return G.getData(J)}).bind("remove",function(){return G.destroy()});this.init()};C[F][E].prototype=C.extend({},C.widget.prototype,D)} has no method 'extend'

@librarian

Трудно сказать про 081, но проверил на последней 0818 с гитхаба, перетаскивание работает и в Fx и в Chrome...

Ошибка была в том, что плагин admin_announce тоже подгружал jquery.ui

А можешь добавить ещё иконку Pocket? http://getpocket.com/publisher/button

А можешь добавить ещё иконку Pocket? http://getpocket.com/publisher/button

Не знаю даже, этож вроде не соц.сеть...

Ну, плагин называется "Социальные кнопки", то есть то, что нужно народу :) Btw в мобильном клиенте можно расшарить статью

Олег

Добрый день!

Кнопка ВК себя ведёт не стабильно почему-то

Кнопка вконтакте появляется один раз из 10 при загрузке страницы.

то же самое у меня происходит

Не отображается кнопка лайка вконтакте.
И по ходу у вас тоже.
Версия системы - последняя.
Буду ждать обновлений плагина :)
Кнопка ВК себя ведёт не стабильно почему-то

Ни о чем. Мало данных.

Руслан Сафин

приветствую, понимаю что не совсем корректно, но задам вопрос

когда сможете добавить функцию "текст до/после кнопок" ?

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

когда сможете добавить функцию "текст до/после кнопок" ?

Киньте мне через контакты свою почту, вышлю.

А сможешь добавить кнопку surfingbird.ru?

Надо глянуть. Может быть )