mSocial - первый релиз.
Представляю Вашему вниманию mSocial. Что умеет на данный момент.
— Оправлять посты на стену в Twitter при сохранении ресурса.
— Для всех запросов используется оффициальное API.
— Использование простого шаблонизатора на основе чанка.
— Добавлять к посту вложенные в тело сообщения изображения (до 4 штук) — (на дохлых хостингах могут возникать проблемы).
— Простая масштабируемость, можно легко привинтить новые соцсети.
Проект на гитхабе
Скачать
Наиболее полная документация тут.
Особая благодарность: Льву Вербицкому, Володе и Василию Наумкину. Без них бы я дополз хоть до какого то офф. релиза еще не скоро.
p.s. Появилась мысль в разработке модуля для Мой круг. Скажите кому-нибудь пригодится?
— Оправлять посты на стену в Twitter при сохранении ресурса.
— Для всех запросов используется оффициальное API.
— Использование простого шаблонизатора на основе чанка.
— Добавлять к посту вложенные в тело сообщения изображения (до 4 штук) — (на дохлых хостингах могут возникать проблемы).
— Простая масштабируемость, можно легко привинтить новые соцсети.
Проект на гитхабе
Скачать
Наиболее полная документация тут.
Особая благодарность: Льву Вербицкому, Володе и Василию Наумкину. Без них бы я дополз хоть до какого то офф. релиза еще не скоро.
p.s. Появилась мысль в разработке модуля для Мой круг. Скажите кому-нибудь пригодится?
Комментарии: 97
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Я видать тоже до какого то офф релиза модальных окон доползу не скоро ))))
Всё в силе? Дальше будешь дорабатывать компонент, но уже не бесплатно его выкладывать или же передумал?
P.S. Глянул бегло код на github и сразу несколько вопросов возникло:
1) Почему ты решил в сохранять глобальные настройки доступ к соц. сетям, а не в таблицу users?
2) Почему указываются в ручную поля чанка для поста у репоста, а не через метод объектов ->toArray()? К примеру, ты бы получил у товара дополнения miniShop2 все поля из его доп. таблицы, вроде цены, артикула и т.п.
3) самое главное, где проверка на то, что страница опубликована, а не черновик? Или на то, что дата публикации меньше?
4) значениях для всех tv получить дело 15 минут:-) чего поленился:-) Как же без главного изображения репостить?
ты хотя бы третье исправь:-)
2) Это альфа, в принципе на это есть вперед идущие планы. Это действительно классный пункт, нужно будет проработать.
3) В связи с этим родилась идея простецкого отложенного постинга, то есть если поставить дату публикации документа на будущее, то и постинг произойдет в будущем. Отличная идея.
4) Дело не в лени, а в количестве времени. Тв добавлю в будущем.
3) Отложенного постинга говоришь? Разве под это дело event нет? Реализовать вообще тогда пара минут.
4) чего со временем должно быть, чтобы 4 строки не успеть написать?
$tvs = $modx->resource->getMany('TemplateVarResources');
foreach($tvs as $tv) {
$page[$tv->get('key')] = $page->get('value');
}
2. Я не знаю, нужно разобраться и покопаться.
4. Для меня написание таких вещей в новинку. Плюс такие поля нельзя мешать с остальными типа pagetitle и т.д. Плюс проверка, плюс еще несколько вещей о которых вполне возможно я не подумал. А помимо этого есть еще куча разных нужных вещей, как например добавить вк и фейсбук, меня скоро уже порвут что их нет. А еще нужно как то на жизнь параллельно зарабатывать, так что именно во времени все дело :) Делаю что в моих силах.
1) Используй JSON и нет проблем. В него кстати декодируется любой массив при сохранении в поле properties в таблице users.
2) Используй ->toArray() и нет проблем
3) if($resource->get('published')) { действия не для черновика }
Про отложенную публикацию забудь, тк нужен cron
4) Код уже написал, чтобы TV вытащить. Для картинок из media source вытащить base_url не сложно.
2) Ты уже в 3 раз пишешь, я все прекрасно понял.
3) Этого мало и без постинга в соцсети не имеет ни какого смысла. Тут нужно понять как документ становится активным по дате и привязаться к событию. И забывать ни чего не буду, отложенный постинг будет.
4) Молодец апплодирую стоя.
ps: слишком затянутый разговор ни о чем на самом деле, я все понял в первом посте, зачем эти развернутые комментарии ума не приложу. Тем более все что ты тут мне рассказал я уже задумывал изначально, кроме отложенного постинга за что тебе спасибо. Наверно спасибо.
Я пробую такой шаблон:
getPostTags сниппет просто текстом выводит теги не во что не завернутые, #тэг1 #тэг2 #тэг3…
В твиттере ничего не публикуется.
Еще странно, что сначала я мог опубликовать посты через стандартный шаблон Ну как сказать публиковать, выводилось почему-то полТайтла и всё.
Теперь совсем ничего в твиттере не появляется. Я пару раз потестил, запостил, удалил твит, запостил, удалил. И что-то сломалось. Может это у твиттера защита какая-то.
Если что то в твиттере не публикуется, а должно то смотрите в консоль ошибок, там выводятся ошибка и номер ошибки при неудачном постинге в твиттер, как правило это дублирующееся сообщение. Твиттер не любит когда вы посылаете ему одинаковые сообщения.
— твиттер вообще очень веселая социальная сеть, там посты могут быть не более 140 символов. Ну соответственно до этого колличества и режется весь текст.
Ладно, забил уже на картинку, убрал , выключил msocial_im_ps.
#Теги из сниппета выводятся нормально. А вот ссылка на полный пост на сайте обрезается, т.е. он выводит ссылку, но не полностью, потому что она длинная. Когда постишь вручную, то ссылки твиттером хитро укорачиваются. Есть ли другой вариант воткнуть ссылку?
docs.modx.pro/components/msocial/msocial
Попробовал твой компонент. Отлично работает. Далее — mSocialVK.
Есть 2 пожелания/уточнения:
1. Хотелось бы добавлять в твит ссылку на текущую страницу. Пример чанка — [[+pagetitle]] — [[~[[+id]]]]. Но при слишком длинном URL (например, sitename.ru/catalog/trends/inwellness-highly-effective-express-workout-and-the-studio-is-hives-a-new-generation.html) в твиттер попадает обрезанный адрес (sitename.ru/catalog/trends/inwellness-), который ведёт на несуществующую страницу. Обрезка происходит на сайте. Но при постинге из аккаунта твиттер пропускает такой пост целиком. Фишка в том, что в твиттере любой URL занимает размер в 23 символа (проверил на практике) — joxi.ru/WKAxjjbU8djNm8. Может стоит это учитывать и при наличии ссылки обрезать сообщение до 117 символов, чтобы добавлялась сама ссылка?
2. После каждого обновления документа в твиттер отправляется очередной пост. При работе менеджер вряд ли будет отключать повторный репост. Возможно, стоит после успешного постинга стоит обнулять значение параметра twPost для текущего документа?
2. Да это уже обсуждалось, в следующем обновлении будут тв у которых будет 3 параметра.
Нет
Постить сейчас
Постить каждый раз.
Соответсвенно при нет не постим, при постить сейчас постим 1 раз и значение сбрасывается, Постить каждый раз, при каждом сохранении будет идти постинг.
Нужно подумать над более адекватными названиями этих пунктов, и внедрить.
ps: сейчас навалилось куча работы, как немного разгребу обязательно доработаю эти фишки и выкачу fb.
А картинки как я понял из документации можно прикрепить?
Можете подсказать как побороть?
Но такой момент — по чанку картинка должна ставиться вверху, после заголовка.
А он почему-то поститься в самом низу. Не знаете почему?
1. Хотелось бы чтобы изображения вставлялись там, где задумано чанком, а не снизу поста.
2. Чтобы ссылки выводились не просто ссылкой а также, когда постишь через сам контакт — там иконка стрелочки и пишется title сразу при наведении на ссылку.
Как например, здесь:
Возможно такое реализовать?
А ссылки всегда после картинок.
Просветите пожалуйста нуба — как из модекса оформлять твит? Совершеннейше не пойму, до этого работал только с джумлой, а в модексе всё иначе.
По настройкам всё сделал, все доступы стоят — но в твитор ничего не постится.
Таки удалось настроить, не поставил галку где надо )
Спасибо!
Твиттер и ВК одолел )), работают — а ФБ кидает в лог ошибку —
[2017-01-09 21:33:06] (ERROR @ /home/doctorhdd/doctorhdd.ru/docs/core/components/msocial/custom/network/fb/fb.class.php: 53) Произошла ошибка при постинге в Fb #190 (Invalid OAuth access token.)
Разрешения проставил, все пять — file.modx.pro/files/5/1/e/51ecc0ae439cf4a7b3f6e14cbdb27255.jpg
Ну и остальное всё по инструкции.
id к тому же выдаются разные, если выбрать своё приложение либо Graph API Explorer
Какой из них нужен, id приложения?
Но пробовал и так и этак — не взлетает (
Вот тут и беру id, это верный?
Переключаться на приложение не нужно?
Маркер доступа беру переключившись на приложение.
Далее по инструкции, добавив App ID и App Secret
Никак не пойму где ошибаюсь.
А так-то да, такое впечатление, что ломится не туда )
Действительно не тот id, да (
Заработало!
Большое спасибо.
Возможно не по адресу, но может подскажешь — надо перенести модули на «боевой» сайт, как это сделать?
Адрес хоста сбросил, но в покупках на новом ключе не отображаются модули.
Тогда я погорячился, теперь в поддержку писать )
Опять затык — твиттер выдаёт ошибку —
[2017-01-19 12:54:41] (ERROR @ /home/saveddata/saveddata.ru/docs/core/components/msocial/custom/network/tw/tw.class.php: 64) Произошла ошибка при постинге в Twitter #170 (Missing required parameter: status.)
Что я делаю не так?
В фейсбук и вконтакт постит нормально, а вот в твитор нехочет.
Заработало )
Имею полюбопытствовать — при отсутствии в чанке [[+content]] картинки не постятся.
Например вот так картинки нет —
Если добавить [[+content]], то картинка есть.
Где что я делаю не так?
Или — можно ли выводить не весь контент?
Допустим, имеется конструкция вида
Вот мне нужно постить только одну часть, которая , допустим.
Возможно ли это сделать?
Как вы это делаете?
Вот тут очень подробно описано