Другим интересным моментом в этом проекте было создание дорожных карт, а если точнее, создание самой "дороги".
Видно, задачу создать дорожную карту дизайнер понял буквально, и решил нарисовать настоящую асфальтированную дорогу с разметкой 😂
Загвоздка в том, что такую дорогу очень сложно изобразить на сайте, если не использовать картинки. Но в этом случае вариант с картинкой не прокатывал по трём причинам:
1. Одна из дорожных карт была настолько длинной, что занимала аж 4 экрана. А как мы с вами знаем, большие картинки могут сильно тормозить страницы.
2. Картинка не адаптивна. Она не может просто так растягиваться под разные разрешения экрана, не портя при этом вёрстку страницы.
3. Я бы был не я, если бы не заморочился созданием адаптивной дороги 😂
Если говорить по правде, то именно в этом проекте мобильная версия не требовалась, поэтому стили под мобильный вид я не делал. Но это сделать вполне реально.
Зато на "полноэкранных" девайсах эта дорога растягивается по ширине под нужный размер.
Сама дорога нарисована обычными
Но результат стоит этих усилий. Так как теперь эту дорогу можно довольно легко сделать любой длинны, окружить её любым контентом со всех сторон.
Кстати, в дорожной карте используется вот эта диаграмма, которая показывает сколько уроков ученик прошёл в модуле. Правда пришлось её немного переделать, чтобы можно было её использовать на обычной странице сайта (вне тренинга) 😊
Ну, и специально для тех, кто находит в себе силы читать мои длинные посты, я приготовил бонус - код этой самой дороги. Можете посмотреть, как она устроена изнутри и что-то подчерпнуть для себя 😌🙏🏻
#геймификация
Видно, задачу создать дорожную карту дизайнер понял буквально, и решил нарисовать настоящую асфальтированную дорогу с разметкой 😂
Загвоздка в том, что такую дорогу очень сложно изобразить на сайте, если не использовать картинки. Но в этом случае вариант с картинкой не прокатывал по трём причинам:
1. Одна из дорожных карт была настолько длинной, что занимала аж 4 экрана. А как мы с вами знаем, большие картинки могут сильно тормозить страницы.
2. Картинка не адаптивна. Она не может просто так растягиваться под разные разрешения экрана, не портя при этом вёрстку страницы.
3. Я бы был не я, если бы не заморочился созданием адаптивной дороги 😂
Если говорить по правде, то именно в этом проекте мобильная версия не требовалась, поэтому стили под мобильный вид я не делал. Но это сделать вполне реально.
Зато на "полноэкранных" девайсах эта дорога растягивается по ширине под нужный размер.
Сама дорога нарисована обычными
<div> блоками, а точнее границами эти блоков. Пришлось вставить пару блоков один в другой и использовать псевдоэлементы :after и :before, чтобы сделать 4-х ярусную границу.Но результат стоит этих усилий. Так как теперь эту дорогу можно довольно легко сделать любой длинны, окружить её любым контентом со всех сторон.
Кстати, в дорожной карте используется вот эта диаграмма, которая показывает сколько уроков ученик прошёл в модуле. Правда пришлось её немного переделать, чтобы можно было её использовать на обычной странице сайта (вне тренинга) 😊
Ну, и специально для тех, кто находит в себе силы читать мои длинные посты, я приготовил бонус - код этой самой дороги. Можете посмотреть, как она устроена изнутри и что-то подчерпнуть для себя 😌🙏🏻
#геймификация
This media is not supported in your browser
VIEW IN TELEGRAM
Перенос уроков на другую дату
Сделали прикольный функционал в одном и проектов - перенос уроков на другую дату.
При покупке тренинга, который состоит из вебинаров, пользователю даётся возможность 4 раза перенести урок на следующую неделю.
Перенос реализован через JavaScript-скрипт, который по нажатию кнопки записывает в доп. поля пользователя нужные значения, а потом эти поля обрабатываются процессом 😊
Сделали прикольный функционал в одном и проектов - перенос уроков на другую дату.
При покупке тренинга, который состоит из вебинаров, пользователю даётся возможность 4 раза перенести урок на следующую неделю.
Перенос реализован через JavaScript-скрипт, который по нажатию кнопки записывает в доп. поля пользователя нужные значения, а потом эти поля обрабатываются процессом 😊
Автоматическое распределение менеджеров на заказы
В чатах я не раз уже упоминал, что реализовывал такую функцию, но сейчас хочу рассказать более подробно о том, как это работает.
Многие из вас сталкивались с такой "особенностью" геткурса, что назначать менеджеров на заказы может только админ, вручную. Но даже этот факт, не сможет остановить нас перед автоматизацией! 🚀
Мало кто знает, но практически всё, что может делать админ (или любой другой пользователь), можно автоматизировать. Но, как же это делается?
Очень просто - делаем бота-админа)) С помощью PHP-кода, который лежит на стороннем сервере, можно подключиться к геткурсу в качестве админа (залогиниться в админском аккаунте), и тогда мы сможем делать всё то, что может и сам админ. И, конечно же, в коде мы можем автоматизировать любые действия.
Зная это, вернёмся к нашим заказам. Когда поступает новый заказ, то через процесс мы можем оповестить об этом нашего бота-админа. Получив этот callback, бот выбирает менеджера из своего списка менеджеров и назначает его админом на этот заказ. Всё.
Но я пошёл дальше и сделал, чтобы заказы распределялись в соответствии с весовым коэффициентом менеджера. И теперь на специальной странице настроек бота можно установить, сколько процентов заказов должно приходиться на каждого отдельного менеджера 🙂
#автоматизация.
В чатах я не раз уже упоминал, что реализовывал такую функцию, но сейчас хочу рассказать более подробно о том, как это работает.
Многие из вас сталкивались с такой "особенностью" геткурса, что назначать менеджеров на заказы может только админ, вручную. Но даже этот факт, не сможет остановить нас перед автоматизацией! 🚀
Мало кто знает, но практически всё, что может делать админ (или любой другой пользователь), можно автоматизировать. Но, как же это делается?
Очень просто - делаем бота-админа)) С помощью PHP-кода, который лежит на стороннем сервере, можно подключиться к геткурсу в качестве админа (залогиниться в админском аккаунте), и тогда мы сможем делать всё то, что может и сам админ. И, конечно же, в коде мы можем автоматизировать любые действия.
Зная это, вернёмся к нашим заказам. Когда поступает новый заказ, то через процесс мы можем оповестить об этом нашего бота-админа. Получив этот callback, бот выбирает менеджера из своего списка менеджеров и назначает его админом на этот заказ. Всё.
Но я пошёл дальше и сделал, чтобы заказы распределялись в соответствии с весовым коэффициентом менеджера. И теперь на специальной странице настроек бота можно установить, сколько процентов заказов должно приходиться на каждого отдельного менеджера 🙂
#автоматизация.
Forwarded from Denis Zolotarev aka torgash
Всем привет!
Пока копался в аккаунте клиента, увидел странное. Стоит скрипт, помещающий кнопки WhatsApp/Viber рядом с номером телефона в боковой панели, но при этом в счетчиках и скриптах... пусто. Куда еще могли это засунуть, чтобы применилось общесистемно?
Пока копался в аккаунте клиента, увидел странное. Стоит скрипт, помещающий кнопки WhatsApp/Viber рядом с номером телефона в боковой панели, но при этом в счетчиках и скриптах... пусто. Куда еще могли это засунуть, чтобы применилось общесистемно?
❗️Важный факт о поле «Счётчики и прочие скрипты», о котором мало кто знает
Недавно для одного проекта я делал скрипт, в котором было около 500 строк кода. Но после того, как я вставил этот скрипт через поле «Счётчики и прочие скрипты» в Настройках аккаунта, это поле оказалось абсолютно пустым. Все скрипты, которые там были до моего вмешательства, тоже исчезли. При этом, скрипты без проблем продолжали работать, как ни в чём не бывало. Но если вписать в это поле другой скрипт, то он заменял собой все те "невидимые" скрипты.
Благо, что я, наученный суровой жизнью, заранее сохранил все скрипты, которые содержались в этом поле в отдельный файл, иначе это была бы печальная история))
А всё дело в том, что геткурс не отображает вписанные в это поле скрипты, если они слишком длинные.
Поэтому, чтобы случайно не потерять скрипты, которые находятся в поле «Счётчики и прочие скрипты», храните их в отдельном файле 😌🙏🏻
Недавно для одного проекта я делал скрипт, в котором было около 500 строк кода. Но после того, как я вставил этот скрипт через поле «Счётчики и прочие скрипты» в Настройках аккаунта, это поле оказалось абсолютно пустым. Все скрипты, которые там были до моего вмешательства, тоже исчезли. При этом, скрипты без проблем продолжали работать, как ни в чём не бывало. Но если вписать в это поле другой скрипт, то он заменял собой все те "невидимые" скрипты.
Благо, что я, наученный суровой жизнью, заранее сохранил все скрипты, которые содержались в этом поле в отдельный файл, иначе это была бы печальная история))
А всё дело в том, что геткурс не отображает вписанные в это поле скрипты, если они слишком длинные.
Поэтому, чтобы случайно не потерять скрипты, которые находятся в поле «Счётчики и прочие скрипты», храните их в отдельном файле 😌🙏🏻
👍2
Инфа для тех, кто использует мои скрипты диаграмм для отображения количества пройденных уроков в тренинге или для показа оставшихся дней доступа к тренингу.
Я тут случайно нашёл способ, сделать приятное скругление. Нужно прописать атрибут
Вот так:
Я тут случайно нашёл способ, сделать приятное скругление. Нужно прописать атрибут
stroke-linecap="round" в элементе с классом donut-segment.Вот так:
<circle class="donut-segment" stroke-linecap="round" cx="21" cy="21" r="16">Отправка автоматических уведомлений партнёрам о новых выплатах
Написал новый скрипт, который позволяет отправить партнёру сообщение по рассылке, при начислении ему новой выплаты.
После нажатия на кнопку срабатывает скрипт, который записывает значение в доп поле. Затем нехитрый циклический процесс проверяет значение этого поля, и, если оно изменилось, отправляет уведомление партнёру о выплате.
#автоматизация
Написал новый скрипт, который позволяет отправить партнёру сообщение по рассылке, при начислении ему новой выплаты.
После нажатия на кнопку срабатывает скрипт, который записывает значение в доп поле. Затем нехитрый циклический процесс проверяет значение этого поля, и, если оно изменилось, отправляет уведомление партнёру о выплате.
#автоматизация
Dmitry Space кодит!
https://youtu.be/-RE7LWb4wAg
👆🏻 Изменил немного скрипт, чтобы видео всегда целиком помещалось на экране.
Опубликовал обновление для Диаграммы кол-ва оставшихся дней доступа к тренингу.
Что изменилось:
1. Исправлена ошибка, из-за которой выводится неправильное кол-во дней, если у пользователя осталось меньше 2-х дней до окончания доступа к тренингу.
2. Добавлена новая опция, которая позволяет инвертировать выводимое значение (как на картинках сверху). По-умолчанию диаграмма отображает кол-во пройденных дней в тренинге. Если вы хотите, чтобы она наоборот показывала кол-во оставшихся дней, то замените 1 на 0 в переменной invert в скрипте.
Те, кто покупал скрипты через магазин GetHelpers, могут там же получить обновлённую версию.
Что изменилось:
1. Исправлена ошибка, из-за которой выводится неправильное кол-во дней, если у пользователя осталось меньше 2-х дней до окончания доступа к тренингу.
2. Добавлена новая опция, которая позволяет инвертировать выводимое значение (как на картинках сверху). По-умолчанию диаграмма отображает кол-во пройденных дней в тренинге. Если вы хотите, чтобы она наоборот показывала кол-во оставшихся дней, то замените 1 на 0 в переменной invert в скрипте.
Те, кто покупал скрипты через магазин GetHelpers, могут там же получить обновлённую версию.
Media is too big
VIEW IN TELEGRAM
Моя версия опроса для оценки уроков. Смотрите видео, чтобы узнать, как он устроен, и как его подключить 😊
Автоматический контроль доступа пользователей к Telegram-каналу
Как вы знаете, в GetCourse с помощью специального бота можно управлять доступом пользователя в закрытый чат в Telegram. Но провернуть тоже самое с Telegram-каналом не получится, потому что в него нельзя добавить бота, который бы контролировал участников.
Но это можно обойти 😀
Зная подписчиков Telegram-чата, можно синхронизировать их с каналом.
С помощью специального скрипта, через Telegram API мы получаем список участников чата (который контролируется ботом геткурса). После этого скрипт поочерёдно перебирает участников Telegram-канала и поверяет находятся ли они в списке участников чата, и если его там нет, то он исключается из канала.
Скрипт работает полностью автоматически и синхронизирует участников канала с чатом каждые 5 минут.
#автоматизация
Как вы знаете, в GetCourse с помощью специального бота можно управлять доступом пользователя в закрытый чат в Telegram. Но провернуть тоже самое с Telegram-каналом не получится, потому что в него нельзя добавить бота, который бы контролировал участников.
Но это можно обойти 😀
Зная подписчиков Telegram-чата, можно синхронизировать их с каналом.
С помощью специального скрипта, через Telegram API мы получаем список участников чата (который контролируется ботом геткурса). После этого скрипт поочерёдно перебирает участников Telegram-канала и поверяет находятся ли они в списке участников чата, и если его там нет, то он исключается из канала.
Скрипт работает полностью автоматически и синхронизирует участников канала с чатом каждые 5 минут.
#автоматизация
#геймификация #автоматизация
Автоматическое начисление баллов пользователю за вовремя выполненное задание
Если у вас уроки в тренинге открываются по расписанию, то можно сделать так, чтобы пользователю начислялось больше баллов за то, что он вовремя выполнил задание.
Допустим, на выполнение задания пользователю даётся 1 день. Тогда, во время того, как пользователь отправляет свой ответ, скрипт определяет время, в которое ему стал доступен этот урок, и отсчитывает от этого момента 1 день. Если этот день ещё не прошёл, тогда в доп поле пользователя заносится запись, мол пользователь урок выполнил вовремя.
Процесс периодически проверяет это доп поле, и если он обнаруживает, что оно изменилось, то пользователю начисляются дополнительные баллы за выполненное задание 🙂
Автоматическое начисление баллов пользователю за вовремя выполненное задание
Если у вас уроки в тренинге открываются по расписанию, то можно сделать так, чтобы пользователю начислялось больше баллов за то, что он вовремя выполнил задание.
Допустим, на выполнение задания пользователю даётся 1 день. Тогда, во время того, как пользователь отправляет свой ответ, скрипт определяет время, в которое ему стал доступен этот урок, и отсчитывает от этого момента 1 день. Если этот день ещё не прошёл, тогда в доп поле пользователя заносится запись, мол пользователь урок выполнил вовремя.
Процесс периодически проверяет это доп поле, и если он обнаруживает, что оно изменилось, то пользователю начисляются дополнительные баллы за выполненное задание 🙂
#GetCourseAdvanced
Выложил долгожданное обновление для GetCourseAdvanced, в котором устранена ошибка, при которой прогресс зависает на статусе "Загрузка списка" и дальше не идёт. Мне много раз сообщали об этом, но воспроизвести эту ошибку удалось только сегодня.
Так что, кто хочет обновиться, могут это сделать прямо сейчас нажав на кнопку "Проверить обновления скриптов" в меню расширения Tampermonkey.
Выложил долгожданное обновление для GetCourseAdvanced, в котором устранена ошибка, при которой прогресс зависает на статусе "Загрузка списка" и дальше не идёт. Мне много раз сообщали об этом, но воспроизвести эту ошибку удалось только сегодня.
Так что, кто хочет обновиться, могут это сделать прямо сейчас нажав на кнопку "Проверить обновления скриптов" в меню расширения Tampermonkey.
Автоматическое принятие ответов на урок с рандомными комментариями от кураторов
Ещё один сложный скрипт покинул мой конвеер 😅
Что он умеет?
1. Автоматически принимать ответы на ДЗ, спустя определённое время.
2. Оставлять комментарий от имени куратора.
Для одного урока может быть несколько заготовленных ответов куратора.
3. Есть возможность оставлять комментарии от имени разных кураторов.
4. Можно настроить, чтобы скрипт наблюдал сразу за несколькими тренингами.
Как это работает?
Бот каждые N минут проверяет Ленту ответов в ГК, и если находит новые непроверенные задания, то поочёрдно их принимает и оставляет к ним рандомный комментарий, который соответствует этому уроку. Комментарии пишется от имени одного из кураторов, которых можно тоже задать несколько. Для этих настроек и загрузки списка комментариев сделана специальная панель управления ботом.
#автоматизация
Ещё один сложный скрипт покинул мой конвеер 😅
Что он умеет?
1. Автоматически принимать ответы на ДЗ, спустя определённое время.
2. Оставлять комментарий от имени куратора.
Для одного урока может быть несколько заготовленных ответов куратора.
3. Есть возможность оставлять комментарии от имени разных кураторов.
4. Можно настроить, чтобы скрипт наблюдал сразу за несколькими тренингами.
Как это работает?
Бот каждые N минут проверяет Ленту ответов в ГК, и если находит новые непроверенные задания, то поочёрдно их принимает и оставляет к ним рандомный комментарий, который соответствует этому уроку. Комментарии пишется от имени одного из кураторов, которых можно тоже задать несколько. Для этих настроек и загрузки списка комментариев сделана специальная панель управления ботом.
#автоматизация
Сегодня сделал удивительное открытие, которое наверняка будет интересно тем, кто, как и я, исследует глубины jQuery.
Оказывается, существует селектор по содержимому блока! 😅
Пример использования
Обведем красной рамкой div-элементы, содержащие текст "магия".
Оказывается, существует селектор по содержимому блока! 😅
:contains(text) — фильтрует элементы по заданному тексту.Пример использования
Обведем красной рамкой div-элементы, содержащие текст "магия".
$('div:contains("магия")').css('border', '1px solid red');
И почему я узнаю об этом только сейчас 😂😭📋 Показ в форме регистрации ближайшего потока со свободными местами
Если вы когда-нибудь пробовали распределять пользователей по нескольким потокам с ограниченным кол-вом участников, то, вероятно, вы сталкивались с этой проблемой.
Cтандартными средствами геткурса нельзя сделать такую форму, которая бы, при заполнении одного потока, автоматически переключалась на следующий свободный. Таким образом, пользователям приходится самостоятельно искать и выбирать в форме поток с доступными местами, что зачастую у них порождает кучу вопросов.
Новый скрипт призван решить эту проблему. Он скрывает из формы лишние потоки, в которых все места заняты, и показывает только следующий свободный поток.
Как это работает?
Сначала в форме показывается только первый поток. Затем, когда в первом потоке заканчиваются места, он скрывается и показывается второй поток. Второй заполнился — появляется следующий, и так далее, пока все потоки не заполнятся.
Кстати, этот скрипт уже доступен в магазине GetHelpers! 😜
Если вы когда-нибудь пробовали распределять пользователей по нескольким потокам с ограниченным кол-вом участников, то, вероятно, вы сталкивались с этой проблемой.
Cтандартными средствами геткурса нельзя сделать такую форму, которая бы, при заполнении одного потока, автоматически переключалась на следующий свободный. Таким образом, пользователям приходится самостоятельно искать и выбирать в форме поток с доступными местами, что зачастую у них порождает кучу вопросов.
Новый скрипт призван решить эту проблему. Он скрывает из формы лишние потоки, в которых все места заняты, и показывает только следующий свободный поток.
Как это работает?
Сначала в форме показывается только первый поток. Затем, когда в первом потоке заканчиваются места, он скрывается и показывается второй поток. Второй заполнился — появляется следующий, и так далее, пока все потоки не заполнятся.
Кстати, этот скрипт уже доступен в магазине GetHelpers! 😜
Распределение пользователей по группам в GetCourse и в Telegram! одним кликом 💥💥💥
Новый бомбический скрипт, добавляет дополнительный пункт в меню "Действия" - "Распределить по группам" (см. скриншот).
При нажатии на эту кнопку выбранный сегмент пользователей будет разбит на группы, которые будут автоматически созданы в ГК.
Но это ещё не всё!)) Сразу после этого такие же группы (чаты) создаются в Telegram, чтобы участники групп могли общаться между собой.
Ссылка-инвайт на созданную Telegram-группу автоматически записывается в доп поле пользователя. Таким образом, приглашение на вступление в чат можно легко отправить пользователям в рассылке или даже сделать кнопку для перехода в Telegram-чат в личном кабинете.
Новый бомбический скрипт, добавляет дополнительный пункт в меню "Действия" - "Распределить по группам" (см. скриншот).
При нажатии на эту кнопку выбранный сегмент пользователей будет разбит на группы, которые будут автоматически созданы в ГК.
Но это ещё не всё!)) Сразу после этого такие же группы (чаты) создаются в Telegram, чтобы участники групп могли общаться между собой.
Ссылка-инвайт на созданную Telegram-группу автоматически записывается в доп поле пользователя. Таким образом, приглашение на вступление в чат можно легко отправить пользователям в рассылке или даже сделать кнопку для перехода в Telegram-чат в личном кабинете.