Блок «Поделиться» для вашего форума

Автор Bugo, 04 декабря 2010, 03:41:43

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

kak2z

Цитата: Bugo от 16 сентября 2012, 07:39:43
А у остальных пользователей показывает? Блокировка по стране проживания? :)
у остальных так и не спросил))) только у Буго спросил) у него показывало) а как и где там блокировка включается?)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Bugo


kak2z

Цитата: Bugo от 16 сентября 2012, 07:46:50
Это к Яндексу вопрос.

хотя нет... блокировки нет... ведь такой вариант у меня работал



правда значок был не по центру полоски а в низу ее..
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Bugo

На положение значка могут влиять какие-нибудь стили в css. Это легко вычислить с помощью Firebug. Другие решения по встраиванию не использовались?

kak2z

Цитата: Bugo от 16 сентября 2012, 13:04:15
На положение значка могут влиять какие-нибудь стили в css. Это легко вычислить с помощью Firebug. Другие решения по встраиванию не использовались?

да нет вроде... не использовал... я вообще руками не люблю лазить в код.. модам больше верю)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

iaroslav

Цитата: iaroslav от 10 июля 2012, 16:20:53
Раз уж тема касательно блока"поделиться" от яндекса уже поднималась, задам вопрос прямо в ней.
Не подскажете ли, как сделать, что бы с помощью этого блока можно было "делиться" непосредственно сообщениями? То есть по умолчанию, по нажатию на любую из кнопок, уходит неизменно первое сообщение темы. А хотелось бы, что бы уходило именно сообщение - под которым расположен блок.
P.S. Размещаем блок под каждым сообщением методом, аналогичным описанному в 49м сообщении темы.
P.P.S. Версия форума 2.0.2
Кстати, способ делиться конкретно сообщениями я нашёл. Если кому надо - дайте знать. Выложу решение.

kak2z

Цитата: iaroslav от 11 ноября 2012, 13:13:14
Кстати, способ делиться конкретно сообщениями я нашёл. Если кому надо - дайте знать. Выложу решение.

Выкладывайте)) рано или поздно кому то нужно будет.. а я посмотрю с удовольствием)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

iaroslav

#107
Цитата: kak2z от 11 ноября 2012, 13:17:18
Выкладывайте)) рано или поздно кому то нужно будет.. а я посмотрю с удовольствием)
Собственно правок не особо много. В Display.template.php
1. В самом начале подгружаем скриптик собственно яндекса (так как у меня поделиться можно только сообщениями в темах и грузить скрипт во все остальные части форума я особого смысла не вижу) и скриптик который будет динамично скармливать вышезаявленному скрипту яндекса содержимое сообщений.
Вместо
function template_main()
{
global $context, $settings, $options, $txt, $scripturl, $modSettings;
// Let them know, if their report was a success!

Пишем
function template_main()
{
global $context, $settings, $options, $txt, $scripturl, $modSettings;
//Our scripts for topic only
echo '<script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script>
       <script type="text/javascript">
       function share(element_share)
      {
      var share_text = $('#msg_'+element_share).html();
      if (share_text.length >= 500) {
        share_text = jQuery.trim(share_text).substring(0, 500) .trim(share_text) + "...";
      };
      new Ya.share({element:'ya_share_'+element_share,description:share_text,elementStyle:{'type':'none','quickServices': ["yaru","vkontakte","facebook","twitter","odnoklassniki","moimir","lj","friendfeed","moikrug","gplus","pinterest","surfingbird"]},});
     }
</script>';

// Let them know, if their report was a success!

2. И перед дополнительными полями подписи делаем блок для парковки собственно яндексовой панельки, плюс запускаем вышеозначенный скриптик.
Вместо
// Are there any custom profile fields for above the signature?
if (!empty($message['member']['custom_fields']))
{

Пишем

//YaShare
echo '<script type="text/javascript">
share('.$message['id'].');
</script>
<div id="ya_share_'.$message['id'].'"></div>';

// Are there any custom profile fields for above the signature?
if (!empty($message['member']['custom_fields']))
{

3. Куда-нибудь подключаем jquery (в принципе можно переписать вышеозначенный код и без использования jquery... но лично мне оно не особо надо, так как jquery нужен для работы ещё нескольких используемых мной дополнений).
Собственно всё.
P.S. Плюс, в отличие от решения, предложенного яндексом по умолчанию, данный вариант полностью валиден.
P.P.S. Выложил слегка обновлённое решение с обрезкой особо длинных постов до 500 символов. Иначе при попытке скормить длинные сообщения "принимающий" сервис будет ругаться на чрезмерную длинну запроса.

oldnick

А код первого "вместо" правильный?
В оригинально файле первая { закрывается аж в самом конце.
А если я вставляю предложенный код, то она закрывается скобкой перед </script>';

после вставки предложенного кода вылетает ошибка. Надо исправить код.

iaroslav

Ну, правильный он точно. Другое дело, что вполне возможно, по дефолту оно в теме несколько иное. На выходных уточню.
Закрывается первая фигурная скобка и тут в самом конце.
А скобкой перед </script>'; (то есть в строке 14) закрывается скобка в строке 8.

ArthurK

Это я уже проделал давно. Вот вопрос: а на главную страницу как поставить? Помогите а.

iaroslav

В смысле на ту, которая список форумов? А в чём проблема? Просто допишите       <div class="yashare-auto-init" data-yashareL10n="ru" data-yashareType="button" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,lj,friendfeed,moikrug,gplus,pinterest,surfingbird"></div> 
туда же, куда вставили счётчики.
А
<script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script>
в index.template туда же, где объявляются прочие скрипты ....

Фисташка

А много юзеров кликают на "Поделиться?" У меня большие сомнения, пожалуйста, развейте их.

remingtone

#113
мало. но must have... юзера вообще надо как-то заставлять благодарить ресурс, на котором он нашел то, что искал. никто ж никогда в благодарность ни на рекламу не кликнет, ни боже упаси, ссылку у себя в профиле на другом сайте не оставит...

даю наводку. ИМХО, только как-то так может что-то получиться... 300 ГБ в месяц скачивают, заходят даже из других стран через translate - качают, нагрузка создается, траффик уходит, канал забивается, а ссылок не добавляется. ну что это за дела? это свинство.

даю еще наводку. красивый настраиваемый блок "поделиться". элементарно подключается в любое место, ссылок поисковикам не видно, малюсенький СВОЙ скрипт, css-спрайт - в итоге ничего не виснет, ниоткуда лишнее не тянется, кешируется браузером, отлично работает.  O0 кто заинтересуется - покликайте хоть там у человека по рекламе :)

Фисташка

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

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

remingtone

а где Вы увидели у меня навязчивые или такие, которые нужно искать, кнопки? или это вообще, размышления?
по-поводу "эффекта толпы" - речь о махинациях с кодом? :) выводить им циферку 100500?

Фисташка

Цитата: okk от 16 января 2013, 06:07:32
речь о махинациях с кодом?
Нет. Хороший понт - дороже денег :)

Nav

Цитата: iaroslav от 11 ноября 2012, 15:06:00Собственно правок не особо много. В Display.template.php
1. В самом начале
Всё делаю, но ошибка

Ошибка шаблона!

Проблема с загрузкой /Themes/default/Display.template.php шаблона или языкового файла. Пожалуйста, проверьте синтаксис и попробуйте снова — запомните, одинарные кавычки (') должны экранироваться слэшем (\). Чтобы увидеть более подробную информацию об ошибке PHP, попытайтесь запустить непосредственно сам файл.

Кроме того, попробуйте обновить страницу или использовать тему по умолчанию.
syntax error, unexpected 'if' (T_IF), expecting ',' or ';'

iaroslav

Ага. Сейчас посмотрел предложенный мной код внимательнее и увидел что там действительно неведомым образом закралась ошибка. Видимо писал тогда второпях и не посмотрел на кавычки.
В общем правильнее должно быть вот так (то есть то самое экранирование кавычек, о котором написало у вас:
function template_main()
{
global $context, $settings, $options, $txt, $scripturl, $modSettings;
//Our scripts for topic only
echo '<script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script>
       <script type="text/javascript">
       function share(element_share)
      {
      var share_text = $("#msg_"+element_share).html();
      if (share_text.length >= 500) {
        share_text = jQuery.trim(share_text).substring(0, 500) .trim(share_text) + "...";
      };
      new Ya.share({element:\'ya_share_\'+element_share,description:share_text,elementStyle:{\'type\':\'none\',\'quickServices\': ["yaru","vkontakte","facebook","twitter","odnoklassniki","moimir","lj","friendfeed","moikrug","gplus","pinterest","surfingbird"]},});
     }
</script>';

// Let them know, if their report was a success!

Nav


Nav

Еще не подскажите пожалуйста:
В яндекс блоке
<script src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script>
<script src="//yastatic.net/share2/share.js"></script>
<div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,lj" data-limit="3"></div>
Есть код data-limit="3" который прячет кнопки. Как вставить его корректно?
Если вставляю прямо, как есть, кнопки исчезают.

Nav

#121
И еще есть проблемка. Опубликовал пост в Фейсбуке через кнопку. Но опубликовалась ссылка на пост ниже, а не на тот, который публиковал. А Вконтакте добавил ссылку не на пост, а на тему, но текст поста взялся верный.

Такая хорошая идея, и что-то подглючивает..

Похоже, данный вопрос больше к соцсетям.

iaroslav

Есть подозрение что просто с тех пор поменялся синтаксис оного "поделиться" от яндекса. В общем проверю у себя вечером и отпишусь по результатам.


iaroslav

#124
Кажись лучше его и использовать.
А то предложенное мной решение, видимо из-за отсутствия специфичных тегов (того самого open graf) глючно работает. Вписывать же оные теги вручную для каждого сообщения не очень понятно как.

Дигер, можете ссылкой на оную штуку поделиться?

Nav

Так эта штука делится ссылкой на сообщение или ссылкой на тему?

kak2z

Цитата: Nav от 27 октября 2016, 11:23:20Так эта штука делится ссылкой на сообщение или ссылкой на тему?
если Вы про YaShare то на страницу она делится ссылкой..
я пытался колхозить что бы на сообщение делилось. даже что то получилось..
но в каждом сообщении кнопки "поделиться" это слишком навязчиво))
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

iaroslav

Цитата: kak2z от 27 октября 2016, 11:32:54если Вы про YaShare то на страницу она делится ссылкой..
я пытался колхозить что бы на сообщение делилось. даже что то получилось..
но в каждом сообщении кнопки "поделиться" это слишком навязчиво))
А на скрине YaShare ? Просто меня там смущает опция "выводить блок в сообщении"... По логике вещей такая опция должна означать, всё-таки, что делится именно сообщениями.

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

kak2z

Цитата: iaroslav от 27 октября 2016, 11:40:01А на скрине YaShare ?
о... я скрин не глянул, а просто прочитал первый пост топика.... не, на скрине что то другое...
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

iaroslav

Цитата: kak2z от 27 октября 2016, 11:58:37о... я скрин не глянул, а просто прочитал первый пост топика.... не, на скрине что то другое...
Аааа.... Ну, будем ждать ответа digger а.

digger®

Цитата: Nav от 27 октября 2016, 11:23:20Так эта штука делится ссылкой на сообщение или ссылкой на тему?
Если выводить в сообщениях, то будут ссылки на сообщения. Если над/под темой - ссылка на тему.

Serifa

Просто на всякий случай.
Кто-нибудь уже спрашивал про работу мода на 2.1?
https://dragomano.ru/mods/social-media-icons

И что за мод на скрине?
https://www.simplemachines.ru/index.php?topic=11578.msg163551#msg163551
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

GeorG

Цитата: Serifa от 10 марта 2018, 22:13:01И что за мод на скрине?
Там на скрине описание:
ЦитироватьМод добавляет блок "Поделиться" в заданное место страницы для того, чтобы пользователи могли в один клик поделится контентом форума в социальных сетях

Мод как я понял, всё ещё в "закромах родины".
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

wwwserfer

Цитата: digger® от 27 октября 2016, 07:06:22Есть вот такая штука в закромах родины ^-^

Вам недоступны вложения в этом разделе.

Так а реально, этот мод существует или нет?