<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Максим</title><author><name>Максим</name></author><id>https://teletype.in/atom/aston_max</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/aston_max?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/aston_max?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-22T03:35:44.728Z</updated><entry><id>aston_max:getcourse-put-data-to-survey-input</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/getcourse-put-data-to-survey-input?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>Автоматически записать данные в поле анкеты геткурс. На примере записи даты заполнения анкеты</title><published>2023-06-10T14:53:23.611Z</published><updated>2023-06-10T15:11:04.187Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/c6/59/c6594cfb-4679-4252-ac07-de6f3aeec907.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/69/09/69097790-249f-43dc-b9f7-23c4089c2119.png&quot;&gt;Переходим в раздел Анкеты. В созданной анкете создаем поле даты. Поле можно назвать &quot;Дата заполнения анкеты&quot;. Сохраняем</summary><content type="html">
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#TTj9&quot;&gt;Шаг 1. Создаем поле анкеты с типом \&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#fukl&quot;&gt;Шаг 2. Добавляем блок анкеты на страницу. Присваиваем блоку класс&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#KYV0&quot;&gt;Шаг 3. Пишем js код&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#MBM7&quot;&gt;Как найти ID_ПОЛЯ_АНКЕТЫ?&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#SbQP&quot;&gt;Шаг 4. Проверяем&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;h2 id=&quot;TTj9&quot;&gt;Шаг 1. Создаем поле анкеты с типом &amp;quot;Дата&amp;quot;&lt;/h2&gt;
  &lt;p id=&quot;74bK&quot;&gt;Переходим в раздел Анкеты. В созданной анкете создаем поле даты. Поле можно назвать &amp;quot;Дата заполнения анкеты&amp;quot;. Сохраняем&lt;/p&gt;
  &lt;figure id=&quot;P8wW&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/69/09/69097790-249f-43dc-b9f7-23c4089c2119.png&quot; width=&quot;1365&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7C4L&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;fukl&quot;&gt;Шаг 2. Добавляем блок анкеты на страницу. Присваиваем блоку класс&lt;/h2&gt;
  &lt;p id=&quot;5lvW&quot;&gt;Нужно поставить класс блоку, например &lt;code&gt;survey_block&lt;/code&gt; Это нужно для того, чтобы скрипт обратился к нужному нам блоку с анкетой&lt;/p&gt;
  &lt;figure id=&quot;QQTi&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/0e/aa/0eaa4390-4db4-475f-9a38-eee101042f36.png&quot; width=&quot;1325&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;yqB5&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;KYV0&quot;&gt;Шаг 3. Пишем js код&lt;/h2&gt;
  &lt;p id=&quot;I9tW&quot;&gt;Добавляем блок &lt;em&gt;JavaScript-код &lt;/em&gt;и вставляем туда код&lt;/p&gt;
  &lt;p id=&quot;yVFX&quot;&gt;JS v1.0&lt;/p&gt;
  &lt;pre id=&quot;bQVB&quot; data-lang=&quot;javascript&quot;&gt;/**
 * Script Name: JS Запись данных в поле анкеты на Getcourse
 * Script description: Автоматически записать данные в поле анкеты геткурс c помощью js кода. На примере записи даты заполнения анкеты
 * Version: 1.0
 * Author: Максим Калмыков
 * Url: https://t.me/getcomponent
 */

$(() =&amp;gt; {

  // Получаем дату для записи в поле анкеты
  const nowDate = new Date().toLocaleDateString(&amp;#x27;ru&amp;#x27;);

  setTimeout(() =&amp;gt; {

    // Записываем данные в поле анкеты     
    // Вместо 1111111 - id поля анкеты
    putDataToSurveyInput(1111111, nowDate, &amp;#x27;.survey_block&amp;#x27;); // putDataToSurveyInput(ID_ПОЛЯ_АНКЕТЫ, ЧТО_ЗАПИСЫВАЕТСЯ_В_ПОЛЕ, &amp;#x27;СЕЛЕКТОР_БЛОКА_АНКЕТЫ&amp;#x27;);

  })


});


// Функция для записи данных в поле анкеты
function putDataToSurveyInput(surveyDataInputId, enteredData = &amp;quot;Данные в поле анкеты&amp;quot;, surveyBlocksSelector = &amp;#x27;.lt-form-survey&amp;#x27;) {

  // Получаем блок анкеты
  const surveyBlocks = $(surveyBlocksSelector);

  surveyBlocks.each((_, survey) =&amp;gt; {
    // Получаем скрытый инпут в анкете
    const surveyJsonInput = $(survey).find(&amp;#x27;input[name=&amp;quot;surveyData&amp;quot;]&amp;#x27;);

    // Получаем поле для записи данных
    const fieldForEntered = $(survey).find(&amp;#x60;#field-input-${surveyDataInputId}&amp;#x60;);

    // Если такие поля не найдены, то скрипт дальше не выполняем
    if (fieldForEntered.length === 0 || surveyJsonInput.length === 0) return;

    // Скрываем видимость блока поля анкеты
    fieldForEntered.parents(&amp;#x27;.field-wrapper&amp;#x27;).hide();

    // Получаем объект данных анкеты
    const surveyData = JSON.parse(surveyJsonInput.val());

    // Записываем в свойство объекта данные
    surveyData[surveyDataInputId] = enteredData;

    // В скрытый инпут записываем json с обновленном значением поля
    surveyJsonInput.val(JSON.stringify(surveyData));


    // Если это поле type=&amp;quot;text&amp;quot; или тег &amp;quot;TEXTAREA&amp;quot; можно записать в них видимые данные (не обязательно)
    if (fieldForEntered.attr(&amp;#x27;type&amp;#x27;) === &amp;#x27;text&amp;#x27; || fieldForEntered[0]?.tagName === &amp;#x27;TEXTAREA&amp;#x27;) {
      fieldForEntered.val(enteredData);
    }

  })


}

&lt;/pre&gt;
  &lt;p id=&quot;4ujt&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;SA5C&quot;&gt;Нужно прописать в функции параметры&lt;/p&gt;
  &lt;p id=&quot;s2EC&quot;&gt;&lt;code&gt;putDataToSurveyInput(ID_ПОЛЯ_АНКЕТЫ, ЧТО_ЗАПИСЫВАЕТСЯ_В_ПОЛЕ, &amp;#x27;СЕЛЕКТОР_БЛОКА_АНКЕТЫ&amp;#x27;);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;AgwR&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;sOVU&quot;&gt;&lt;code&gt;СЕЛЕКТОР_БЛОКА_АНКЕТЫ&lt;/code&gt; - класс блока анкеты который мы задали (например &lt;code&gt;survey_block&lt;/code&gt; или &lt;code&gt;survey_block_1 &lt;/code&gt;или другой)&lt;/p&gt;
  &lt;p id=&quot;WIus&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;MBM7&quot;&gt;Как найти &lt;code&gt;ID_ПОЛЯ_АНКЕТЫ&lt;/code&gt;?&lt;/h3&gt;
  &lt;p id=&quot;szjP&quot;&gt;1. &lt;em&gt;Навести мышку на поле анкеты&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;KAcc&quot;&gt;2. &lt;em&gt;Нажать ПКМ -&amp;gt; Просмотреть код&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;snjU&quot;&gt;3. &lt;em&gt;В html коде скопировать цифры из атрибута id=&amp;quot;field-input-&lt;strong&gt;1673820&lt;/strong&gt;&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;Yafq&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6f/ce/6fce3f97-9abb-4f89-9206-beff79547ab6.png&quot; width=&quot;1458&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Yc15&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;bUGH&quot;&gt;Вставляем id в код&lt;/p&gt;
  &lt;figure id=&quot;N9tU&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e7/9e/e79e487f-a1c2-460f-9ea8-da1d4e7a62d0.png&quot; width=&quot;1390&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Bs7g&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;SbQP&quot;&gt;Шаг 4. Проверяем&lt;/h2&gt;
  &lt;p id=&quot;94ah&quot;&gt;После сохранения можно проверить в коде страницы или отправить анкету&lt;/p&gt;
  &lt;figure id=&quot;G9TT&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e0/99/e0999811-cdad-4591-869a-02c4a95212e2.png&quot; width=&quot;1340&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;YQuW&quot;&gt;&lt;em&gt;*Скриптом это поле скрывается при просмотре страницы, на данном скриншоте оно показано с помощью инструментов разработчика в хроме&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;rt6A&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;RMmm&quot;&gt;Результат после отправки анкеты&lt;/p&gt;
  &lt;figure id=&quot;SeHg&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e8/0e/e80eeaf4-3fe0-496b-9955-d34a6ac93e32.png&quot; width=&quot;1021&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;jGkY&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8b/6a/8b6aa576-d843-4b4f-8194-87827435fbc6.png&quot; width=&quot;1513&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;4iub&quot;&gt;Готово&lt;/p&gt;
  &lt;p id=&quot;Wki1&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;RxBr&quot;&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;8oP2&quot;&gt;&lt;em&gt;Доп. заметки по решению&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;YpHl&quot;&gt;1. В поле анкеты записать с помощью скрипта можно не только дату и не только в поле с типом &amp;quot;Дата&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;RPcL&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/59/34/59345f25-5493-487f-a151-79ec5d9d4592.png&quot; width=&quot;845&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;aobH&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d7/b2/d7b2557f-dcb7-4320-84c3-a4dbafcec4c3.png&quot; width=&quot;1508&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;QPAI&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;UGbF&quot;&gt;2. Если скрипт будет использоваться часто в аккаунте, можно подключить функцию через тему в настройки аккаунта getcourse. Это позволит писать только вызов функции там где нужно (т.е. без самого тела функции, это позволит менять(если нужно будет) функцию из единого места - в теме)&lt;/p&gt;
  &lt;p id=&quot;ZXT7&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;FkAK&quot;&gt;3 В данном скрипте запись в скрытое поле происходит после загрузки страницы(+небольшой задержки). Можно записать и по триггеру нажатия на кнопку отправки анкеты (это если вдруг хочется заморочиться и учитывать ситуацию при которой пользователь зашел заполнять анкету в 23:59 а отправил на след. день и считать именно то число, когда нажал кнопку отправки )&lt;/p&gt;
  &lt;p id=&quot;gd9S&quot;&gt;Нужно задать класс для кнопки анкеты, например &lt;code&gt;btn_send_survey&lt;/code&gt;&lt;/p&gt;
  &lt;pre id=&quot;QNx9&quot; data-lang=&quot;javascript&quot;&gt;$(() =&amp;gt; {

  // Получаем дату для записи в поле анкеты
  const nowDate = new Date().toLocaleDateString(&amp;#x27;ru&amp;#x27;);


  // Записать после загрузки страницы
  setTimeout(() =&amp;gt; {
    putDataToSurveyInput(1673718, nowDate, &amp;#x27;.survey_block&amp;#x27;);
  })



  // Записать при клике на кнопку 
  $(&amp;#x27;.btn_send_survey .btn&amp;#x27;).on(&amp;#x27;click&amp;#x27;, function (e) {
    e.preventDefault();

    // Записываем данные
    putDataToSurveyInput(1673718, nowDate, &amp;#x27;.survey_block&amp;#x27;);

    // затем отправляем форму
    $(this).parents(&amp;#x27;form&amp;#x27;).submit()
  });

});

// ...&lt;/pre&gt;
  &lt;p id=&quot;IwDJ&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WRgu&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;moNO&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;XaEb&quot;&gt;Телеграм-канал: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>aston_max:getcourse-modules-1</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/getcourse-modules-1?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>Оформить модуль, в  котором уроки недоступны + вывести дату выхода первого урока. JS код для списка тренингов в getcourse </title><published>2023-05-11T17:12:10.368Z</published><updated>2023-05-11T17:12:10.368Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/3e/de/3edeec70-f383-417c-87f0-9c6af01c67ab.png"></media:thumbnail><category term="getcourse-scripts" label="Getcourse scripts"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/f5/c4/f5c486c3-822b-49c5-a98a-95f08a283646.png&quot;&gt;JS-код:</summary><content type="html">
  &lt;figure id=&quot;pGM2&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f5/c4/f5c486c3-822b-49c5-a98a-95f08a283646.png&quot; width=&quot;1368&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;GHd3&quot;&gt;JS-код:&lt;/p&gt;
  &lt;pre id=&quot;i2RC&quot; data-lang=&quot;javascript&quot;&gt;/**
 * Script Name: Добавить класс модулю, в  котором уроки недоступны + вывести дату выхода первого урока. JS код для списка тренингов в getcourse 
 * Version: 1.0
 * Author: Максим Калмыков
 * Url: https://t.me/getcomponent
 */


$(function () {
  // Название класса для модуля в котором недоступные уроки
  const notReachedClassName = &amp;#x27;not_reached&amp;#x27;;

  // Получить модули
  const modules = $(&amp;#x27;.stream-table &amp;gt; tbody &amp;gt; tr&amp;#x27;);

  if (modules.length === 0) return;

  modules.each(function (_, tr) {

    const link = $(tr).find(&amp;#x27;a&amp;#x27;).attr(&amp;quot;href&amp;quot;);

    $.get(link, function (data) {

      const pageDom = $(&amp;#x27;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&amp;#x27;).html(data);

      const lessons = pageDom.find(&amp;#x27;.lesson-list li:not(.lesson-is-hidden)&amp;#x27;);

      // Вывести дату первого урока
      showFirstLessonStart(lessons, tr);

      // Присвоить класс модулю, если нет доступных уроков внутри
      checkLessonsNotReached(lessons, tr);
    });

  });


  function checkLessonsNotReached(lessons, tr) {

    if (lessons.length === 0) return;

    let isNotReached = true;

    for (let i = 0; i &amp;lt; lessons.length; i++) {
      if (!$(lessons[i]).hasClass(&amp;quot;user-state-not_reached&amp;quot;)) {
        isNotReached = false;
        break;
      }
    }

    if (isNotReached) {
      $(tr).addClass(notReachedClassName)
    }
  }


  function showFirstLessonStart(lessons, tr) {

    const dateStartEl = lessons.eq(0).find(&amp;#x27;.has-start-at&amp;#x27;);

    if (dateStartEl.length === 0) return;

    $(tr).find(&amp;#x27;a&amp;#x27;).prepend(dateStartEl);

  }

})&lt;/pre&gt;
  &lt;p id=&quot;ygek&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;6MY3&quot;&gt;&lt;em&gt;*JS код вставлять в javascript блок или подключать через тему&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;SXVG&quot;&gt;&lt;em&gt;*Данная версия скрипта(v 1.0) проверяет список уроков только на первом уровне вложенности (т.е. подмодули модуля скрипт не проверяет). &lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;26wf&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;TFao&quot;&gt;В результате работы скрипта: &lt;/p&gt;
  &lt;ul id=&quot;HSCx&quot;&gt;
    &lt;li id=&quot;hlOu&quot;&gt;Присвоился класс для модулей, в которых уроки недоступны&lt;/li&gt;
    &lt;li id=&quot;5TIX&quot;&gt;Добавлена дата выхода первого урока в списке (ищется именно первый урок в списке и в нем элемент даты)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;NGzo&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/0f/9e/0f9e5657-2a70-4717-9ede-0958f79c6900.png&quot; width=&quot;985&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;heo1&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WuNr&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;HVKZ&quot;&gt;Можно использовать добавленный класс &lt;code&gt;not_reached &lt;/code&gt;чтобы обратиться к этим модулям для стилизации &lt;/p&gt;
  &lt;p id=&quot;RE4K&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;DQ1V&quot;&gt;Простой пример CSS кода для списка модулей&lt;/p&gt;
  &lt;pre id=&quot;wP6T&quot; data-lang=&quot;css&quot;&gt;.xdget-trainingList .stream-table,
.xdget-trainingList .stream-table tbody,
.xdget-trainingList .stream-table tr,
.xdget-trainingList .stream-table tr td {
  display: block;
  margin: 0;
}


.xdget-trainingList .stream-table tr {
  margin-bottom: 10px;
  border: 1px solid #cccccc;
  border-radius: 10px;
}

.xdget-trainingList .stream-table tr.not_reached {
  opacity: 0.6;
  background-color: #f7f7f7;

}

.xdget-trainingList .stream-table tr td {
  height: auto;
  padding: 0;

}

.xdget-trainingList .stream-table tr td:hover {
  background-color: transparent;
}

.xdget-trainingList .stream-table tr a {
  padding: 10px 10px 10px 20px;
}

.xdget-trainingList .stream-table tr.not_reached a {
  cursor: default;
}

.xdget-trainingList .stream-table tr .has-start-at {
  font-size: 12px;
}


.xdget-trainingList .stream-table a&amp;gt;div&amp;gt;b {
  display: none;
}&lt;/pre&gt;
  &lt;p id=&quot;XT67&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;o96s&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;UfQh&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f5/c4/f5c486c3-822b-49c5-a98a-95f08a283646.png&quot; width=&quot;1368&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Jbsh&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;QWVN&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;qfMn&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;8SVK&quot;&gt;Телеграм-канал: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>aston_max:button-scroll-top</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/button-scroll-top?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>Кнопка навигации  «Прокрутить наверх». Код для getcourse</title><published>2023-03-18T15:35:22.262Z</published><updated>2023-03-18T15:35:22.262Z</updated><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/80/f1/80f15c2f-95de-4ea3-9022-73dbfb62b39c.png&quot;&gt;Что делает код:</summary><content type="html">
  &lt;p id=&quot;PWPk&quot;&gt;Что делает код:&lt;/p&gt;
  &lt;p id=&quot;nzdB&quot;&gt;Показывает кнопку при определенном значении прокрутки страницы. При нажатии на эту кнопку происходит плавный скролл до начала страницы.&lt;/p&gt;
  &lt;p id=&quot;pOSO&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;QoKu&quot;&gt;Можно применять на длинных страницах или уроках с множеством блоков контента в визуальном конструкторе геткурса&lt;/p&gt;
  &lt;p id=&quot;aPrt&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;QxBY&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;oEgy&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;zce8&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/f1/80f15c2f-95de-4ea3-9022-73dbfb62b39c.png&quot; width=&quot;1735&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;nqRU&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;bkjB&quot;&gt;CSS&lt;/p&gt;
  &lt;pre id=&quot;97SH&quot; data-lang=&quot;css&quot;&gt;/* Скрыть виджет обратной связи */
.talks-widget-button {
  display: none;
}

#button_to_top {
  display: inline-block;
  width: 50px;
  height: 50px;
  text-align: center;
  border-radius: 50px;
  position: fixed;
  bottom: 20px;
  right: 20px;

  /* Иконка стрелки вверх */
  background-image: url(&amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/629406/sc/385/h/b5328a61e88bd4e767caaa1e5baf96ca.svg&amp;quot;);

  /* Цвет фона кнопки */
  background-color: #ffffff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.18);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s;
}


#button_to_top:hover {
  cursor: pointer;
  transition: all 0.4s;
}

#button_to_top.btn_show {
  opacity: 0.85;
  visibility: visible;
}

#button_to_top.btn_show:hover {
  opacity: 1;
}

@media (max-width: 768px) {
  #button_to_top {
    margin: 5px;
    width: 40px;
    height: 40px;
    bottom: 10px;
    right: 0;
    background-size: 15px;
  }

  .with-left-menu #button_to_top {
    bottom: 50px;
  }

}

&lt;/pre&gt;
  &lt;p id=&quot;P5Yi&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;fJn8&quot;&gt;HTML в Блок: HTML&lt;/p&gt;
  &lt;pre id=&quot;Sfb3&quot; data-lang=&quot;html&quot;&gt;&amp;lt;div id=&amp;quot;button_to_top&amp;quot;&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;ybCy&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;XoQP&quot;&gt;JS в Блок: JavaScript&lt;/p&gt;
  &lt;pre id=&quot;fp77&quot; data-lang=&quot;javascript&quot;&gt;$(function() {
    /* Сколько нужно проскроллить чтобы появилась кнопка */
    const scroll_value = 600;
    
    /* За сколько миллисекунд должна быть прокрутка до верха страницы */
    const ms = 300;
    
    /* Получаем кнопку */
    const btn = $(&amp;#x27;#button_to_top&amp;#x27;);
    

      if ($(window).scrollTop() &amp;gt; scroll_value) {
        btn.addClass(&amp;#x27;btn_show&amp;#x27;);
      } else {
        btn.removeClass(&amp;#x27;btn_show&amp;#x27;);
      }
    
    
    $(window).scroll(function() {
      if ($(window).scrollTop() &amp;gt; scroll_value) {
        btn.addClass(&amp;#x27;btn_show&amp;#x27;);
      } else {
        btn.removeClass(&amp;#x27;btn_show&amp;#x27;);
      }
    });
    
    btn.on(&amp;#x27;click&amp;#x27;, function(e) {
      e.preventDefault();
      $(&amp;#x27;html, body&amp;#x27;).animate({scrollTop:0}, ms);
    });
})

&lt;/pre&gt;
  &lt;p id=&quot;Exrq&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;eGuv&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;pEWy&quot;&gt;Телеграм-канал: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>aston_max:getcourse-accordeon-block</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/getcourse-accordeon-block?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>Блок &quot;Аккордеон&quot; на Getcourse</title><published>2023-03-06T15:10:01.827Z</published><updated>2024-11-07T13:30:34.957Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/58/cd/58cdab0e-0589-4262-b1ee-0475e4e1dd94.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/12/8c/128cdd77-a575-49c7-a366-335565d0c647.png&quot;&gt;Аккордеон-блок на геткурсе можно применить для описания популярных вопросов и ответов, мини-инструкций и т.п.</summary><content type="html">
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#Dtbr&quot;&gt;Шаг 1. Добавляем CSS блок&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#QOIf&quot;&gt;Шаг 2. Добавляем блоки контента и проставляем классы&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#uIAL&quot;&gt;Шаг 3. Добавляем блок с js-кодом&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;p id=&quot;zrzt&quot;&gt;Аккордеон-блок на геткурсе можно применить для описания популярных вопросов и ответов, мини-инструкций и т.п.&lt;/p&gt;
  &lt;p id=&quot;lYd7&quot;&gt;Часто подобный блок можно встретить на продающих страницах, в нем описывают популярные возражения, вопросы, сомнения и закрывают их в раскрывающейся при клике панели.&lt;/p&gt;
  &lt;p id=&quot;fSdb&quot;&gt;&lt;em&gt;Данное решение предназначено для использования в визуальном конструкторе на платформе getcourse&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;VT9t&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/12/8c/128cdd77-a575-49c7-a366-335565d0c647.png&quot; width=&quot;995&quot; /&gt;
    &lt;figcaption&gt;Как выглядит блок-аккордеон на геткурсе&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;PeUQ&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;Dtbr&quot;&gt;Шаг 1. Добавляем CSS блок&lt;/h3&gt;
  &lt;p id=&quot;6X1J&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;CdwA&quot;&gt;CSS-код:&lt;/p&gt;
  &lt;pre id=&quot;fb9S&quot; data-lang=&quot;css&quot;&gt;/* Подключение шрифта  Montserrat 400;600 */
@import url(&amp;#x27;https://fonts.googleapis.com/css2?family=El+Messiri&amp;amp;family=Montserrat:wght@400;600&amp;amp;display=swap&amp;#x27;);

:root {

  /* Цвет фона плашки */
  --ac_bgColor: #ffffff;

  /* Цвет заголовка */
  --ac_titleColor: #333333;

  /* Цвет текста */
  --ac_textColor: #777777;

  /* Цвет плюса */
  --ac_accentColor: #f9ba49;

  /* Цвет кружочка плюса */
  --ac_lightColor: #fff1d7;


  --fontM: &amp;quot;Montserrat&amp;quot;, &amp;quot;proxima-nova&amp;quot;, sans-serif;
}


.accordeon_block p {
  line-height: 1.4;
}

.accordeon_block p,
.accordeon_block div,
.accordeon_block .btn {
  font-family: var(--fontM);
}



.accordeon_item {
  margin-bottom: 10px;
  border: 1px solid #ededed;
  border-radius: 5px;
  background-color: var(--ac_bgColor);
  transition: box-shadow 0.4s ease;
}

.accordeon_item:hover {
  box-shadow: 0 15px 25px 0 rgb(0 0 0 / 4%);
  transition: box-shadow 0.4s ease;
}


/* Заголовок элемента аккордена */
.accordeon_item&amp;gt;.f-header {
  padding: 20px 60px 20px 15px;
  border-radius: 5px;
  position: relative;
  cursor: pointer;
}

.accordeon_item&amp;gt;.f-header p {
  margin: 0;
  font-size: 20px;
  user-select: none;
  color: var(--ac_titleColor);
}

/* Оформление плюса(+) */
.accordeon_item&amp;gt;.f-header::after {
  content: &amp;#x27;+&amp;#x27;;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  line-height: 1;
  font-size: 36px;
  font-weight: 400;
  font-family: &amp;quot;Arial&amp;quot;, sans-serif;
  color: var(--ac_accentColor);
  transition: all .4s ease;
}

/* При наведнии на заголовок аккордеона */
.accordeon_item&amp;gt;.f-header:hover:after {
  background-color: var(--ac_lightColor);
  transition: all .4s ease;
}

/* При активном аккордеоне поворачиваем плюс */
.accordeon_item.active&amp;gt;.f-header:after {
  background-color: var(--ac_lightColor);
  transform: translateY(-50%) rotate(-45deg);
}

.accordeon_item.active&amp;gt;.f-header:hover:after {
  filter: brightness(101%);
}


/* Контейнер контента */
.accordeon_block .ac_content_wrapper {
  padding: 5px 15px 15px 15px;
}

/* Текст контента */
.accordeon_block .f-text {
  font-size: 16px;
  font-weight: 400;
  color: var(--ac_textColor);
}




/* Адапатация под моб. экраны */
@media (max-width: 640px) {

  .accordeon_item&amp;gt;.f-header {
    padding: 15px 50px 15px 15px;
  }

  .accordeon_item&amp;gt;.f-header p {
    font-size: 16px;
  }

  .accordeon_block .f-text {
    font-size: 14px;
  }

  .accordeon_item&amp;gt;.f-header::after {
    right: 5px;
    width: 40px;
    height: 40px;
    font-size: 32px;
  }

}&lt;/pre&gt;
  &lt;p id=&quot;nDUF&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;1FLt&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;QOIf&quot;&gt;Шаг 2. Добавляем блоки контента и проставляем классы&lt;/h3&gt;
  &lt;p id=&quot;tpI0&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;cgfT&quot;&gt;Добавляем блок &amp;quot;Заголовок и текст&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;gRRq&quot;&gt;Ставим этому блоку в настройках класс &lt;em&gt;accordeon_block&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;XM65&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4f/2a/4f2aaa79-faa7-4ec9-bcac-591a099f3399.png&quot; width=&quot;1350&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;500p&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;kgMR&quot;&gt;Для заголовка(который будет заголовком вкладки элемента аккордеона) ставим класс &lt;em&gt;accordeon_item&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;7K3Z&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3b/a0/3ba02750-6adb-434a-b10f-350843858284.png&quot; width=&quot;540&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kHkM&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;bHnf&quot;&gt;Контентные элементы ниже заголовка будут относиться к этому заголовку до следующего заголовка с классом &lt;em&gt;accordeon_item&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;S16s&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e5/1b/e51bbba5-61c9-4572-8414-b0b6ad1cd41e.png&quot; width=&quot;1170&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;uhiv&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;uIAL&quot;&gt;Шаг 3. Добавляем блок с js-кодом&lt;/h3&gt;
  &lt;p id=&quot;K3yx&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;dX0N&quot;&gt;JS-код:&lt;/p&gt;
  &lt;pre id=&quot;xNGl&quot; data-lang=&quot;javascript&quot;&gt;/**
 * Script Name: Активация аккордеона в визуальном редакторе Getcourse
 * Version: 1.01
 * Author: Максим Калмыков
 * Url: https://t.me/getcomponent
 */

$(function () {


  accordeonInit({
    accordeonBlockSelector: &amp;#x27;.accordeon_block&amp;#x27;, // Класс блока с аккордеоном
    isBind: false, // Активна только одна вкладка(на которой был клик) (true - да / false - нет)
    showFirstItem: true // Открыть первую вкладку (true - да / false - нет)
  });


});


function accordeonInit({ accordeonBlockSelector = &amp;#x27;.accordeon_block&amp;#x27;, isBind = false, showFirstItem = false }) {

  const acItems = $(accordeonBlockSelector).find(&amp;#x27;.accordeon_item&amp;#x27;);

  if (acItems.length === 0) return;

  acItems.append(&amp;#x27;&amp;lt;div class=&amp;quot;ac_content_wrapper&amp;quot; style=&amp;quot;display: none; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#x27;);

  acItems.each((_, item) =&amp;gt; {

    $(item).find(&amp;quot;.ac_content_wrapper&amp;quot;).append($(item).nextUntil(&amp;quot;.accordeon_item&amp;quot;).not(&amp;quot;style&amp;quot;));

    $(item).find(&amp;quot;.f-header&amp;quot;).on(&amp;quot;click&amp;quot;, function () {

      const acItem = $(this).parent();
      const acItemContent = $(this).nextAll(&amp;#x27;.ac_content_wrapper&amp;#x27;);


      console.log(&amp;#x27;acItemContent&amp;#x27;, acItemContent)
      if (isBind) {
        acItem.toggleClass(&amp;#x27;active&amp;#x27;).siblings().removeClass(&amp;#x27;active&amp;#x27;);

        acItem.parent().find(&amp;#x27;.ac_content_wrapper&amp;#x27;).slideUp();

        if (acItemContent.is(&amp;quot;:hidden&amp;quot;)) {
          acItemContent.slideDown();
        }

        return;
      }

      acItem.toggleClass(&amp;#x27;active&amp;#x27;);

      if (acItemContent.is(&amp;quot;:hidden&amp;quot;)) {
        acItemContent.slideDown();
      } else {
        acItemContent.slideUp();
      }

    });
  });


  if (showFirstItem) {

    const firstAcItem = $(&amp;#x60;${accordeonBlockSelector} .accordeon_item&amp;#x60;).eq(0);

    firstAcItem.addClass(&amp;#x27;active&amp;#x27;);
    firstAcItem.find(&amp;quot;.ac_content_wrapper&amp;quot;).show();
  }

}

&lt;/pre&gt;
  &lt;p id=&quot;RVHK&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;nA0S&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;E3vp&quot;&gt;В этом месте кода мы активируем аккордеон и можем включить некоторые настройки:&lt;/p&gt;
  &lt;ul id=&quot;jcY9&quot;&gt;
    &lt;li id=&quot;pUyC&quot;&gt;isBInd - при нажатию на одну вкладку, она открывается а остальные закрываются &lt;em&gt;(true - сделать, false - не делать)&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;sEFA&quot;&gt;showFirstItem - Открыть первую вкладку &lt;em&gt;(true - сделать, false - не делать)&lt;/em&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;Wqjn&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/48/03/48039a09-db78-4331-aa74-972dd70650bd.png&quot; width=&quot;956&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;tuDR&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;AH22&quot;&gt;Готово&lt;/p&gt;
  &lt;figure id=&quot;Z8XJ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a9/29/a929c26d-e4c9-47f8-ac77-4ed9dbb569d2.png&quot; width=&quot;900&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kgit&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;vrBZ&quot;&gt;Телеграм-канал: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;z6AN&quot;&gt;Youtube: &lt;a href=&quot;https://www.youtube.com/channel/UCAVwlN_NSAEFR4mJRpzyvCg&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/channel/UCAVwlN_NSAEFR4mJRpzyvCg&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;UbUk&quot;&gt;VK: &lt;a href=&quot;https://vk.com/getcomponent&quot; target=&quot;_blank&quot;&gt;https://vk.com/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;LNlx&quot;&gt;Нельзяграм: @maximilia_n&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>aston_max:edit-product-block-on-getcourse</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/edit-product-block-on-getcourse?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>Меняем текст в блоке продления покупки в тренингах на геткурсе с помощью JS</title><published>2023-02-07T22:08:54.304Z</published><updated>2023-02-09T07:02:34.614Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/82/41/824130a8-b6a4-496a-82ea-1a653996486f.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/8d/53/8d5321a8-421b-4bbd-af57-e627474c6cc7.png&quot;&gt;JS-код:</summary><content type="html">
  &lt;figure id=&quot;ION0&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/xOZCUY75jY8?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;FrTo&quot;&gt;JS-код:&lt;/p&gt;
  &lt;pre id=&quot;z15d&quot; data-lang=&quot;javascript&quot;&gt;/*
  * Name: Функция для замены текста в блоке продления покупки в тренингах на геткурсе
  * Version: 1.0
*/



// Объявление функции которая заменяет текст в блоке продления продукта в гк 
function changeTextOnProductBlock(productBlockSelector = &amp;#x27;.xdget-productTiming&amp;#x27;, replaceTextArr = [&amp;#x27;Поддержка доступна&amp;#x27;, &amp;quot;Поддержка&amp;quot;, &amp;#x27;Поддержка закончилась&amp;#x27;]) {

  if (!Array.isArray(replaceTextArr)) return;

  const productInfo = document.querySelector(&amp;#x60;${productBlockSelector} .user-product-block&amp;#x60;);

  if (!productInfo) return;

  const notAccessEl = productInfo.querySelector(&amp;quot;b&amp;quot;);

  if (notAccessEl &amp;amp;&amp;amp; productInfo.childNodes[0].textContent.trim() == &amp;#x27;&amp;#x27;) {
    notAccessEl.textContent = notAccessEl.textContent.replace(&amp;#x27;Доступ к тренингу закончился&amp;#x27;, replaceTextArr[2]);
    return;
  }
  const newTextProduct = productInfo.childNodes[0].textContent
    .replace(&amp;#x27;Тренинг доступен&amp;#x27;, replaceTextArr[0])
    .replace(&amp;quot;Доступ к тренингу&amp;quot;, replaceTextArr[1]);
  productInfo.childNodes[0].textContent = newTextProduct;


}


$(function () {

  // Примеры вызова функции для заменты текста в блоке продления покупки


  changeTextOnProductBlock(&amp;#x27;.product_1&amp;#x27;, [&amp;#x27;Курс доступен&amp;#x27;, &amp;#x27;Доступ к курсу&amp;#x27;, &amp;#x27;Доступ к курсу закончился&amp;#x27;]);

  changeTextOnProductBlock(&amp;#x27;.product_2&amp;#x27;, [&amp;#x27;Поддержка доступна&amp;#x27;, &amp;#x27;Поддержка&amp;#x27;, &amp;#x27;Поддержка закончилась&amp;#x27;]);

});&lt;/pre&gt;
  &lt;p id=&quot;ITuk&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;YEKO&quot;&gt;*Перед тем как выполнить скрипт блокам были заданы классы, в данном примере это &lt;code&gt;product_1 &lt;/code&gt;и &lt;code&gt;product_2&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;j400&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;RNnS&quot;&gt;В вызове функции можно написать свои строки текста&lt;/p&gt;
  &lt;p id=&quot;P0AK&quot;&gt;&lt;br /&gt;&lt;code&gt;changeTextOnProductBlock(&amp;#x27;.product_3&amp;#x27;, [&amp;#x27;База знаний доступна&amp;#x27;, &amp;#x27;Доступ к базе знаний&amp;#x27;, &amp;#x27;Доступ к базе знаний закончился&amp;#x27;]);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;iO37&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;sTeu&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;eRnL&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;2Z23&quot;&gt;Вариант CSS-стилизации:&lt;/p&gt;
  &lt;pre id=&quot;wryp&quot; data-lang=&quot;css&quot;&gt;/* Блок продления продукта */
.xdget-productTiming {
  margin-bottom: 20px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  box-shadow: 0 2px 10px rgba(0 0 0 / 0.15);
  background-color: #7367F0;
  background-image: linear-gradient(225deg, rgba(206, 159, 252, 1) -20%, rgba(115, 103, 240, 1) 90%);
}


.xdget-productTiming .user-product-block&amp;gt;.text-muted {
  margin-top: 2px;
  font-weight: 400;
  color: #ffffff;
}


/* Продлить доступ */
.user-product-block a.dotted-link {
  margin-top: 4px;
  display: inline-block;
  font-weight: 400;
  color: #ffffff;
  border-color: #ffffff;
  transition: all .4s ease;
}

.user-product-block a.dotted-link:hover {
  color: #FAC9B4;
  border-color: #FAC9B4;
  transition: all .4s ease;
}



/* Кнопка &amp;quot;Продлить&amp;quot; */
.xdget-productTiming .user-product-block .prolong-offers button {
  border: 0;
  border-radius: 30px;
  font-size: 16px;
  padding: 8px 60px;
  min-height: 50px;
  background-color: #2b2e43;
  transition: filter .4s ease;
}

.xdget-productTiming .user-product-block .prolong-offers button:hover {
  filter: brightness(120%);
  transition: filter .4s ease;
}

.xdget-productTiming .user-product-block&amp;gt;b {
  color: #FAC9B4 !important;
}

/* &amp;lt;/ Блок продления продукта */&lt;/pre&gt;
  &lt;p id=&quot;ryjg&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;TC17&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;v1qS&quot;&gt;Результат:&lt;/p&gt;
  &lt;figure id=&quot;7SHS&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8d/53/8d5321a8-421b-4bbd-af57-e627474c6cc7.png&quot; width=&quot;1561&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;3ChZ&quot;&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;pBA6&quot;&gt;* Возможность продлить доступ появляется если это предварительно настроено в настройках продукта&lt;/p&gt;
  &lt;figure id=&quot;Td4p&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/33/a6/33a60c0a-a951-40b5-9aba-d7c7ed797465.png&quot; width=&quot;1428&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xokn&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;LRlY&quot;&gt;&lt;em&gt;Telegram: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>aston_max:getcourse-file-storadge-script</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/getcourse-file-storadge-script?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>JS скрипт для файлового хранилища Getcourse</title><published>2023-01-27T16:33:07.750Z</published><updated>2023-01-27T16:33:07.750Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/b4/2a/b42a7f7a-8530-4ce0-8ac8-526c0e4b8810.png"></media:thumbnail><category term="getcourse-scripts" label="Getcourse scripts"></category><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/63/db/63db24b7-7eed-4e24-9b18-0eb76aea12aa.png&quot;&gt;Оглавление</summary><content type="html">
  &lt;figure id=&quot;bkRQ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/63/db/63db24b7-7eed-4e24-9b18-0eb76aea12aa.png&quot; width=&quot;1893&quot; /&gt;
    &lt;figcaption&gt;Пример работы скрипта&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;f2ve&quot;&gt;&lt;strong&gt;Оглавление&lt;/strong&gt;&lt;/p&gt;
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#X0FU&quot;&gt;Что делает скрипт&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#mZml&quot;&gt;JS-код&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#K7d2&quot;&gt;Как вставить код на геткурс&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;p id=&quot;87Bq&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;EhJT&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;X0FU&quot;&gt;Что делает скрипт&lt;/h3&gt;
  &lt;p id=&quot;1Aa1&quot;&gt;1. В боковой панели в подменю добавляет к ссылке на файловое хранилище параметры, при которых страница файлового хранилища будет открываться с сортировкой файлов от новым к старым (новые файлы сверху).&lt;/p&gt;
  &lt;p id=&quot;qnyR&quot;&gt;2. Добавляет кнопки быстрого переключения &amp;quot;Сначала новые файлы&amp;quot; &amp;quot;Сначала старые файлы&amp;quot; &lt;/p&gt;
  &lt;figure id=&quot;j67z&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f7/ca/f7ca95a1-b9b1-4bea-9905-205b597040cd.png&quot; width=&quot;533&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;qDAT&quot;&gt;3. Добавляет превью файлов(в основных популярных форматах):&lt;/p&gt;
  &lt;ul id=&quot;4Tty&quot;&gt;
    &lt;li id=&quot;BOM3&quot;&gt;Изображения&lt;/li&gt;
    &lt;li id=&quot;z5r2&quot;&gt;Видео&lt;/li&gt;
    &lt;li id=&quot;tjEq&quot;&gt;Аудио&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;BUTa&quot;&gt;4. Для некоторых документов с популярным форматом (docx, xlsx, pdf) добавляет иконки &lt;/p&gt;
  &lt;p id=&quot;A1i3&quot;&gt;5. Добавляет кнопку копирования ссылки на файл (ссылка берется из страницы файла в поле где рекомендуемая для размещения ссылка)&lt;br /&gt;&lt;/p&gt;
  &lt;figure id=&quot;Lr4W&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/be/09/be0970cd-a7fa-44e6-84a9-a8a03dffcd18.png&quot; width=&quot;825&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ufZ2&quot;&gt;6. Добавляет иконку при загрузке файла в хранилище. При клике на иконку происходит копирование ссылки на файл&lt;/p&gt;
  &lt;figure id=&quot;AgWd&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5f/d7/5fd764bf-520d-4284-ade3-70ae6bb2ad57.png&quot; width=&quot;560&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;FbEX&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;mZml&quot;&gt;JS-код&lt;/h3&gt;
  &lt;pre id=&quot;95dI&quot; data-lang=&quot;javascript&quot;&gt;/**
 * Script Name: JS-скрипт для файлового хранилища Getcourse
 * Version: 1.0
 * Author: Максим Калмыков
 * Url: https://t.me/getcomponent
 */


$(function () {

    if (!window.userInfo.isAdmin) return;

    (function () {

        if (!window.gcAccountUserMenu) return;

        const profile = window.gcAccountUserMenu.items.find(menuItem =&amp;gt; menuItem.id === &amp;#x27;profile&amp;#x27;);
        if (!profile) return;

        const fileService = profile.subitems.find(profileItem =&amp;gt; profileItem.id === &amp;#x27;fileserviceAccountStat&amp;#x27;);
        if (fileService) fileService.url += &amp;#x27;?sort=-created_at&amp;#x27;;

    })();

    if (location.pathname.indexOf(&amp;quot;/fileservice/control/account/storage&amp;quot;) === -1) return;

    $(&amp;#x27;.standard-page-content &amp;gt; .btn-group&amp;#x27;).prepend(&amp;quot;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Показать сначала:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a href=&amp;#x27;/fileservice/control/account/storage?sort=-created_at&amp;#x27; class=&amp;#x27;btn btn-default sort_new&amp;#x27;&amp;gt;Новые файлы&amp;lt;/a&amp;gt;&amp;lt;a href=&amp;#x27;/fileservice/control/account/storage&amp;#x27; class=&amp;#x27;btn btn-default sort_old&amp;#x27;&amp;gt;Старые файлы&amp;lt;/a&amp;gt;&amp;quot;);

    const archiveImage = &amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/556025/sc/469/h/389a4619093e40c4ae3576d7b6340425.png&amp;quot;;

    const docsInfo = {

        pdf: {
            icon: &amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/556025/sc/206/h/d8f3c98573c09bc7e43750dc7ad51d54.png&amp;quot;,
            exts: [&amp;#x27;pdf&amp;#x27;]
        },

        sheet: {
            icon: &amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/556025/sc/163/h/39f56b599f06e954a521c515bf3df8c3.png&amp;quot;,
            exts: [&amp;#x27;xlsx&amp;#x27;, &amp;#x27;csv&amp;#x27;]
        },

        doc: {
            icon: &amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/556025/sc/245/h/a58bcff963c7d8ad326014b6328bfb64.png&amp;quot;,
            exts: [&amp;#x27;docx&amp;#x27;, &amp;#x27;doc&amp;#x27;]
        },

        js: {
            icon: &amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/556025/sc/111/h/d1093f7c9ea35d210357795a495e28ee.png&amp;quot;,
            exts: [&amp;#x27;js&amp;#x27;]
        },

        css: {
            icon: &amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/556025/sc/294/h/7d9010eb630eeaf84fd3c88aaa92791e.png&amp;quot;,
            exts: [&amp;#x27;css&amp;#x27;]
        },

        eml: {
            icon: &amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/602055/sc/204/h/7d037cda84be880d8964cac137f3c663.png&amp;quot;,
            exts: [&amp;#x27;eml&amp;#x27;]
        }
    };


    $(&amp;#x27;#files .gc-file-link&amp;#x27;).each((_, row) =&amp;gt; {

        const $fileShowContainer = $(row).find(&amp;#x27;td[data-col-seq=&amp;quot;2&amp;quot;]&amp;#x27;),
            fileNameStr = $fileShowContainer.text().trim(),
            fileShowItemLink = $fileShowContainer.find(&amp;#x27;a&amp;#x27;).attr(&amp;#x27;href&amp;#x27;),
            fileTypeText = $(row).find(&amp;#x27;td[data-col-seq=&amp;quot;3&amp;quot;]&amp;#x27;).text(),
            pageFileLink = $(row).find(&amp;#x27;td[data-col-seq=&amp;quot;1&amp;quot;] &amp;gt; a&amp;#x27;).attr(&amp;#x27;href&amp;#x27;);

        if (fileTypeText == &amp;#x27;изображение&amp;#x27; || fileTypeText == &amp;#x27;image&amp;#x27; || fileTypeText == &amp;#x27;fotografías&amp;#x27;) {
            $fileShowContainer.append(&amp;#x60;&amp;lt;div&amp;gt;&amp;lt;img height=&amp;quot;200&amp;quot; src=&amp;quot;${fileShowItemLink}&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#x60;);
        } else if (fileTypeText == &amp;#x27;видео&amp;#x27; || fileTypeText == &amp;#x27;video&amp;#x27; || fileTypeText == &amp;#x27;vídeos&amp;#x27;) {
            $fileShowContainer.append(&amp;#x60;
    &amp;lt;div&amp;gt;
        &amp;lt;video width=&amp;quot;100%&amp;quot; controls=&amp;quot;controls&amp;quot; src=&amp;quot;${fileShowItemLink}&amp;quot;&amp;gt;&amp;lt;/video&amp;gt;
    &amp;lt;/div&amp;gt;&amp;#x60;);
        } else if (fileTypeText == &amp;#x27;аудио&amp;#x27; || fileTypeText == &amp;#x27;audio&amp;#x27; || fileTypeText == &amp;#x27;audios&amp;#x27;) {
            $fileShowContainer.append(&amp;#x60;
    &amp;lt;div&amp;gt;
        &amp;lt;audio src=&amp;quot;${fileShowItemLink}&amp;quot; controls=&amp;quot;controls&amp;quot;&amp;gt;&amp;lt;/audio&amp;gt;
    &amp;lt;/div&amp;gt;&amp;#x60;);
        } else if (fileTypeText == &amp;#x27;архив&amp;#x27; || fileTypeText == &amp;#x27;archive&amp;#x27; || fileTypeText == &amp;#x27;archivos&amp;#x27;) {
            insertBadge($fileShowContainer, archiveImage);
        } else if (fileTypeText == &amp;#x27;документ&amp;#x27; || fileTypeText == &amp;#x27;document&amp;#x27; || fileTypeText == &amp;#x27;documentos&amp;#x27;) {
            insertBadge($fileShowContainer, getDocIcon(fileNameStr, docsInfo));
        }

        getFileLink(pageFileLink, $fileShowContainer);

    });


    function insertBadge($container, badge) {

        if (!badge) return;

        $container.prepend(&amp;#x60;
            &amp;lt;div style=&amp;quot;display: inline-block; width: 40px; height: 40px; margin: 0 10px 5px 0;&amp;quot;&amp;gt;
                &amp;lt;img src=&amp;quot;${badge}&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
            &amp;lt;/div&amp;gt;&amp;#x60;);
    }

    function getDocIcon(fileName, docsInfo) {

        const extension = fileName.match(/\.([^.]+)$|$/)[1];

        if (!extension) return false;

        for (key in docsInfo) {
            if (docsInfo[key][&amp;#x27;exts&amp;#x27;].includes(extension)) {
                return docsInfo[key][&amp;#x27;icon&amp;#x27;];
            }
        }

        return false;

    }

    function getFileLink(fileToLink, $container) {

        $.get(fileToLink, function (data) {

            const htmlPage = $(&amp;#x27;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&amp;#x27;).html(data);

            $container.append(htmlPage.find(&amp;#x27;.col-md-10 &amp;gt; input[type=&amp;quot;text&amp;quot;]&amp;#x27;).css({ &amp;quot;display&amp;quot;: &amp;quot;block&amp;quot;, &amp;quot;height&amp;quot;: 0, &amp;quot;padding&amp;quot;: 0, &amp;quot;opacity&amp;quot;: 0, &amp;quot;border&amp;quot;: 0 }));
            $container.append(&amp;quot;&amp;lt;button class=&amp;#x27;btn btn-success btn_copy&amp;#x27; style=&amp;#x27;display:block; margin-top:5px;&amp;#x27;&amp;gt;&amp;lt;i class=&amp;#x27;fa fa-copy&amp;#x27;&amp;gt;&amp;lt;/i&amp;gt; Копировать ссылку&amp;lt;/button&amp;gt;&amp;quot;);


            $container.on(&amp;#x27;click&amp;#x27;, (e) =&amp;gt; {
                if (e.target &amp;amp;&amp;amp; ($(e.target).hasClass(&amp;#x27;btn_copy&amp;#x27;) || $(e.target).hasClass(&amp;#x27;form-control&amp;#x27;))) {


                    $(e.target).parent().find(&amp;#x27;input&amp;#x27;)[0].select();
                    document.execCommand(&amp;#x27;copy&amp;#x27;);


                    $(e.target).parent().find(&amp;#x27;.btn_copy&amp;#x27;).html(&amp;#x27;&amp;lt;i class=&amp;quot;fa fa-check-square&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Скопированна&amp;#x27;).addClass(&amp;#x27;btn-info&amp;#x27;);

                }
            });
        });

    }

    $(&amp;#x27;.uploadify-container&amp;#x27;).data(&amp;#x27;uploadifive&amp;#x27;).settings.onUploadComplete = function (e, fileHashNameStr) {

        const $item = e.queueItem;
        const link = &amp;#x60;/fileservice/control/account/file-by-hash?hash=${fileHashNameStr}&amp;amp;from=storage&amp;#x60;;

        $item.find(&amp;#x27;.fileinfo&amp;#x27;).html(&amp;#x60; &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;${link}&amp;quot;&amp;gt;${fileHashNameStr}&amp;lt;/a&amp;gt; &amp;#x60;);

        $.get(link, (data) =&amp;gt; {


            const pageHtml = $(&amp;#x27;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&amp;#x27;).html(data),

                fileLinkStr = pageHtml.find(&amp;#x27;input.form-control[type=&amp;quot;text&amp;quot;]&amp;#x27;).val(),
                inputEl = document.createElement(&amp;#x27;input&amp;#x27;),
                spanEl = document.createElement(&amp;#x27;span&amp;#x27;);

            $item.find(&amp;#x27;span.filename&amp;#x27;).before(spanEl);
            $item.find(&amp;#x27;span.filename&amp;#x27;).after(inputEl);
            $(inputEl).attr(&amp;#x27;type&amp;#x27;, &amp;#x27;text&amp;#x27;).val(fileLinkStr).css({ &amp;quot;display&amp;quot;: &amp;quot;block&amp;quot;, &amp;quot;height&amp;quot;: 0, &amp;quot;padding&amp;quot;: 0, &amp;quot;opacity&amp;quot;: 0, &amp;quot;border&amp;quot;: 0 });


            $(spanEl).html(&amp;#x27;&amp;lt;i class=&amp;quot;fa fa-copy&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; &amp;#x27;)
                .css({ &amp;quot;cursor&amp;quot;: &amp;quot;pointer&amp;quot;, &amp;quot;font-size&amp;quot;: &amp;quot;20px&amp;quot; }).on(&amp;#x27;click&amp;#x27;, function () {
                    inputEl.select();
                    document.execCommand(&amp;#x27;copy&amp;#x27;);
                    $(spanEl).css(&amp;#x27;color&amp;#x27;, &amp;quot;#45dc4b&amp;quot;);
                });
        });

    }


});&lt;/pre&gt;
  &lt;p id=&quot;ekRY&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;K7d2&quot;&gt;Как вставить код на геткурс&lt;/h3&gt;
  &lt;p id=&quot;d3f0&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;keFA&quot;&gt;&lt;em&gt;Способ 1. Через подключение темы в настройках аккаунта&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;fTVH&quot;&gt;При таком способе скрипт будет выполняться для всех админов в аккаунте&lt;/p&gt;
  &lt;p id=&quot;fEyc&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WZd3&quot;&gt;&lt;em&gt;Последовательность:&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;RctR&quot;&gt;Добавить тему&lt;/p&gt;
  &lt;figure id=&quot;6hai&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ee/d6/eed60e5c-2979-472d-bee1-f7dd5ff820f5.png&quot; width=&quot;1358&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;uhjs&quot;&gt;Вставить код во вкладке JS&lt;/p&gt;
  &lt;figure id=&quot;IUlt&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/14/ae/14ae7404-4a80-46f9-87fb-d5dfc34ec50d.png&quot; width=&quot;1253&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;tpbI&quot;&gt;Сохранить&lt;/p&gt;
  &lt;p id=&quot;dlXA&quot;&gt;Скопировать ссылку на js файл&lt;/p&gt;
  &lt;figure id=&quot;TQX9&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/33/b1/33b18475-22f5-4aba-bfef-a951e775ffb9.png&quot; width=&quot;1212&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;RmPr&quot;&gt;Подключить в настройки аккаунта в скрипты для BODY&lt;/p&gt;
  &lt;pre id=&quot;GA5M&quot; data-lang=&quot;html&quot;&gt;&amp;lt;!-- Скрипт для файлового хранилища --&amp;gt;
&amp;lt;script src=&amp;quot;ССЫЛКА_НА_ТЕМУ&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;Mmsg&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;dsnY&quot;&gt;&lt;em&gt;Способ 2 Подключить файл js из хранилища&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;xIb8&quot;&gt;Подключить в настройки аккаунта в скрипты для BODY&lt;/p&gt;
  &lt;pre id=&quot;pSum&quot; data-lang=&quot;html&quot;&gt;&amp;lt;!-- Скрипт для файлового хранилища v1.0 --&amp;gt;
&amp;lt;script src=&amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/608456/sc/251/h/9690e8beee22036e4f2a9eaf95dc7122.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;5c0I&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;eYyt&quot;&gt;Файл закружен в хранилище геткурса, также можно загрузить js файл в свое хранилище на аккаунте и вставить ссылку в атрибут &lt;em&gt;src&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;PlP5&quot;&gt;Скачать файл можно по ссылке:&lt;/p&gt;
  &lt;p id=&quot;RWBo&quot;&gt;&lt;a href=&quot;https://drive.google.com/file/d/1mRQr8aczrmGEZ_1X8sJSTSjY1U57-m7k/view?usp=share_link&quot; target=&quot;_blank&quot;&gt;https://drive.google.com/file/d/1mRQr8aczrmGEZ_1X8sJSTSjY1U57-m7k/view?usp=share_link&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;kLH7&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;igWK&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;rf5F&quot;&gt;&lt;em&gt;Способ 3. Подключить скрипт локально в своем браузере&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;0iWS&quot;&gt;При подключении скрипта локально скрипт будет выполняться только у вас в браузере&lt;/p&gt;
  &lt;p id=&quot;2YUT&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;fmzq&quot;&gt;Например, можно использовать расширение для хрома &lt;em&gt;User JavaScript and CSS &lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;z0kF&quot;&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/user-javascript-and-css/nbhcbdghjpllgmfilhnhkllmkecfmpld&quot; target=&quot;_blank&quot;&gt;https://chrome.google.com/webstore/detail/user-javascript-and-css/nbhcbdghjpllgmfilhnhkllmkecfmpld&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;AvuX&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;K3Ho&quot;&gt;Добавляем скрипт в расширение в поле JS&lt;/p&gt;
  &lt;figure id=&quot;MuFq&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d8/3b/d83b81a5-3323-4c34-855a-64658b6f42d2.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ndzP&quot;&gt;Включаем&lt;/p&gt;
  &lt;figure id=&quot;YVJU&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3f/a2/3fa28f6d-e3f9-465b-bfb5-bf4f327a90da.png&quot; width=&quot;613&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;CNE3&quot;&gt;Обновляем страницу и смотрим результат&lt;/p&gt;
  &lt;p id=&quot;CHZK&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;YnrD&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;vrBZ&quot;&gt;Телеграм-канал: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;z6AN&quot;&gt;Youtube: &lt;a href=&quot;https://www.youtube.com/channel/UCAVwlN_NSAEFR4mJRpzyvCg&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/channel/UCAVwlN_NSAEFR4mJRpzyvCg&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;UbUk&quot;&gt;VK: &lt;a href=&quot;https://vk.com/getcomponent&quot; target=&quot;_blank&quot;&gt;https://vk.com/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;LNlx&quot;&gt;Нельзяграм: @maximilia_n&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>aston_max:send-response-after-submitting-questionnaire</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/send-response-after-submitting-questionnaire?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>Отправляем задание урока после заполнения анкеты. Скрипт для getcourse</title><published>2022-11-24T11:09:47.395Z</published><updated>2022-12-07T18:17:27.203Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/3c/92/3c9287d2-9d18-4dd1-bcd7-e1afe792dc30.png"></media:thumbnail><category term="getcourse-scripts" label="Getcourse scripts"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/bf/af/bfaf266d-6853-4a39-b3a6-1042998c6470.png&quot;&gt;Изначально понадобится сделать:</summary><content type="html">
  &lt;figure id=&quot;OCCo&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/xKQVlldMGjo?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;VaMs&quot;&gt;Изначально понадобится сделать:&lt;/p&gt;
  &lt;ul id=&quot;ZubX&quot;&gt;
    &lt;li id=&quot;GA4N&quot;&gt;Урок с заданием (стандартное поле задания и автопринятие ответа)&lt;/li&gt;
    &lt;li id=&quot;o0xW&quot;&gt;Блок с анкетой в уроке&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;oqTV&quot;&gt;&lt;/p&gt;
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#qMIe&quot;&gt;Шаг 1. Подключаем JS код на страницу урока&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#4kyY&quot;&gt;Шаг 2. Вызываем скрипт после отправки анкеты&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#M653&quot;&gt;Шаг 3. Скрываем блок ответа&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;p id=&quot;6gHX&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;qMIe&quot;&gt;Шаг 1. Подключаем JS код на страницу урока&lt;/h3&gt;
  &lt;p id=&quot;ZnDq&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;zxvb&quot;&gt;JS-код v1.1:&lt;/p&gt;
  &lt;pre id=&quot;b608&quot; data-lang=&quot;javascript&quot;&gt;
// ОТПРАВЛЯЕМ ДЗ ЧЕРЕЗ СКРИПТ
function sendLessonAnswer(answerText = &amp;quot;Анкета отправлена&amp;quot;) {

  const link = window.location.href;

  // Проверка на нахождение внутри урока
  if (link.indexOf(&amp;quot;teach/control/lesson/&amp;quot;) === -1) return;


  // Проверка на наличие блока с заданием ( если находимся в веб-браузере )
  if (link.indexOf(&amp;quot;teach/control/lesson/view&amp;quot;) !== -1 &amp;amp;&amp;amp; $(&amp;quot;#LessonAnswer_answer_text&amp;quot;).length == 0) return;


  // Проверка на наличие блока с вкладкой &amp;quot;Задание&amp;quot; ( если находимся в приложении )
  if (link.indexOf(&amp;quot;teach/control/lesson/webview&amp;quot;) !== -1 &amp;amp;&amp;amp; $(&amp;quot;nav.mode-selector a[data-mode=&amp;#x27;mission&amp;#x27;]&amp;quot;).length == 0) return;

  // .. если проверки пройдены

  // Формируем параметры запроса
  const dataPost = { &amp;quot;LessonAnswer[answer_text]&amp;quot;: answerText, &amp;quot;send-answer&amp;quot;: &amp;quot;&amp;quot; };

  // Делаем запрос (Отправка ДЗ)
  $.post(link, dataPost);

}


 &lt;/pre&gt;
  &lt;p id=&quot;iGpm&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;JPFj&quot;&gt;Код можно вставить в JS-блок на странице урока либо подключить через тему (рекомендуется).&lt;/p&gt;
  &lt;pre id=&quot;XMLu&quot;&gt;&amp;lt;script src=&amp;quot;ССЫЛКА_НА_ТЕМУ&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
  &lt;figure id=&quot;aFfh&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bf/af/bfaf266d-6853-4a39-b3a6-1042998c6470.png&quot; width=&quot;1620&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;crw6&quot;&gt;Пример&lt;/p&gt;
  &lt;p id=&quot;OyWn&quot;&gt;Подключение темы в блоке HTML:&lt;/p&gt;
  &lt;pre id=&quot;48TQ&quot; data-lang=&quot;html&quot;&gt;&amp;lt;!--[JS] Автоматически отправить ответ в уроке --&amp;gt;
&amp;lt;script src=&amp;quot;/pl/cms/layout/js?id=21248&amp;amp;hash=a7dc761c666dd70b4aba1e9329b518c2&amp;amp;bundle=1&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;XCLr&quot;&gt;&lt;em&gt;* в src ставить ссылку без домена на вашу тему&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;jzwE&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;MD4h&quot;&gt;Если уроков с отправкой задания после заполнения анкеты будет много, то можно подключить тему с нашей функцией глобально в &lt;em&gt;Настройки аккаунта --&amp;gt; Счетчики и прочие скрипты для BODY (применяются в течение 10 минут )&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;iV17&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;hVd7&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;4kyY&quot;&gt;Шаг 2. Вызываем скрипт после отправки анкеты&lt;/h3&gt;
  &lt;p id=&quot;BCFv&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;CfEH&quot;&gt;В обработчике анкеты выбираем &amp;quot;Произвольное действие&amp;quot; → &amp;quot;Вызов Javascript&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;li5C&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/94/e4/94e4b405-4c70-4f85-9bdd-aa116b5b785a.png&quot; width=&quot;600&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;vZkH&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;F5Ne&quot;&gt;В поле &amp;quot;Javascript&amp;quot; пишем вызов функцию&lt;/p&gt;
  &lt;pre id=&quot;MS0s&quot; data-lang=&quot;javascript&quot;&gt;sendLessonAnswer();&lt;/pre&gt;
  &lt;p id=&quot;9nZY&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;0O8o&quot;&gt;Опционально:&lt;/p&gt;
  &lt;pre id=&quot;0xb4&quot; data-lang=&quot;javascript&quot;&gt;sendLessonAnswer(&amp;quot;Анкета заполнена и отправлена&amp;quot;);&lt;/pre&gt;
  &lt;p id=&quot;zUF6&quot;&gt;В параметры функции можно передать строку, эта строка будет в ответе к заданию. Если не передавать строку, то по умолчанию ответ в уроке будет &amp;quot;Анкета отправлена&amp;quot; (в функции можно изменить ответ по умолчанию)&lt;/p&gt;
  &lt;p id=&quot;bY3p&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;UB1q&quot;&gt;Если на данном этапе протестировать, то после заполнения анкеты:&lt;/p&gt;
  &lt;ul id=&quot;DJcF&quot;&gt;
    &lt;li id=&quot;vFR2&quot;&gt;анкета и задание отправляется&lt;/li&gt;
    &lt;li id=&quot;n4M0&quot;&gt;страница перезагружаться&lt;/li&gt;
    &lt;li id=&quot;A3h0&quot;&gt;ответ принят автоматически&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;yMF0&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;ByLq&quot;&gt;Само поле для ответа нужно скрыть, чтобы ученики не отправляли ответы без заполнения анкеты. Это можно сделать с помощью CSS.&lt;/p&gt;
  &lt;p id=&quot;THfJ&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;M653&quot;&gt;Шаг 3. Скрываем блок ответа&lt;/h3&gt;
  &lt;p id=&quot;tNGE&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;a3Ds&quot;&gt;Вариант 1&lt;/p&gt;
  &lt;p id=&quot;nkIC&quot;&gt;В редактировании урока блоку с заданием прописываем класс &lt;em&gt;view-collapsed &lt;/em&gt;Этот класс скроет видимость всего блока с заданием при просмотре&lt;/p&gt;
  &lt;figure id=&quot;BncO&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5a/21/5a2187cf-bf63-4118-bc26-e496ce2e665b.png&quot; width=&quot;1038&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;qfj7&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;FV4P&quot;&gt;Вариант 2&lt;/p&gt;
  &lt;p id=&quot;BeHo&quot;&gt;Для показа текста задания и блока статуса задания после отправки&lt;/p&gt;
  &lt;p id=&quot;2dHi&quot;&gt;Написать текст задания, например:  &lt;em&gt;Заполните и отправьте анкету&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;6R8K&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/db/d7/dbd786b3-54a6-4fb5-9ac6-08534e755085.png&quot; width=&quot;875&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xIPd&quot;&gt;В подробные настройки блока &amp;quot;Задание&amp;quot;:&lt;/p&gt;
  &lt;figure id=&quot;TOjn&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4b/20/4b201374-e8ac-4d5d-8bfa-a22d4bc92c09.png&quot; width=&quot;1783&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7nLg&quot;&gt;CSS &lt;/p&gt;
  &lt;pre id=&quot;lZJa&quot; data-lang=&quot;css&quot;&gt;/* Скрываем поля ответа в уроке */
.lesson-send-answer-block {
    display: none;
}&lt;/pre&gt;
  &lt;p id=&quot;TKrB&quot;&gt;или подключить этот стиль через тему&lt;/p&gt;
  &lt;pre id=&quot;p7Pk&quot; data-lang=&quot;css&quot;&gt;@import url(&amp;quot;/pl/cms/layout/css?id=21248&amp;amp;hash=8ac884e322f5a4e345f338722db1cd29&amp;amp;bundle=1&amp;quot;);&lt;/pre&gt;
  &lt;figure id=&quot;1NQF&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c8/51/c851de6a-6c2b-4214-a847-f8faa97ca3e0.png&quot; width=&quot;913&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;bWHi&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/92/76/9276da5e-740f-40c1-ac65-c875b19d330a.png&quot; width=&quot;885&quot; /&gt;
    &lt;figcaption&gt;Показываем ученику &amp;quot;Задание принято&amp;quot;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;ccsv&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/45/cd/45cdac44-9c52-4be2-a2e1-ee68f73e55e2.jpeg&quot; width=&quot;1080&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;UQdn&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;0CRL&quot;&gt;&lt;em&gt;Доп. информация:&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;t9og&quot;&gt;Версия JS 1.1&lt;br /&gt;Работает в приложении Getcourse&lt;/p&gt;
  &lt;p id=&quot;SeuE&quot;&gt;Анкету можно скрыть по сегменту. В сегмент включить тех, кто выполнил урок(&amp;quot;Ответ принят&amp;quot;)&lt;/p&gt;
  &lt;p id=&quot;aRNk&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;96J3&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;atGY&quot;&gt;Готово ✨&lt;/p&gt;
  &lt;p id=&quot;mYxn&quot;&gt;Обязательно все внимательно проверьте и протестируйте  &lt;/p&gt;
  &lt;p id=&quot;05C0&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;loaX&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;vrBZ&quot;&gt;Телеграм-канал: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;z6AN&quot;&gt;Youtube: &lt;a href=&quot;https://www.youtube.com/channel/UCAVwlN_NSAEFR4mJRpzyvCg&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/channel/UCAVwlN_NSAEFR4mJRpzyvCg&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;UbUk&quot;&gt;VK: &lt;a href=&quot;https://vk.com/getcomponent&quot; target=&quot;_blank&quot;&gt;https://vk.com/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;LNlx&quot;&gt;Нельзяграм: @maximilia_n&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>aston_max:timecodesForPlyrOnGetcourse</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/timecodesForPlyrOnGetcourse?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>Делаем плеер с таймкодами на getcourse с помощью плагина Plyr и скриптов</title><published>2022-11-14T20:36:59.256Z</published><updated>2023-05-09T21:27:45.665Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/d6/a8/d6a858af-1d75-4917-a481-dcbb8eb74184.png"></media:thumbnail><category term="oformlenie-getkurs" label="Оформление геткурс"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/14/7c/147c8731-5aac-43be-9997-87abd1fc53b5.png&quot;&gt;Плеер с таймкодами делаем используя &quot;Визуальный конструктор&quot; геткурса т.е. можно разместить видео в уроках или на страницах.</summary><content type="html">
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#o28X&quot;&gt;Шаг 1. Подключаем Plyr&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#g0Wl&quot;&gt;Шаг 2. Вставляем видео в HTML&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#bY3Z&quot;&gt;Шаг 3. Вставляем JS-код&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#2PGX&quot;&gt;Шаг 4. Заголовок-контейнер для таймкодов на геткурс&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#mPN0&quot;&gt;Шаг 5. Добавляем стилизацию&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;p id=&quot;KM3g&quot;&gt;Плеер с таймкодами делаем используя &amp;quot;Визуальный конструктор&amp;quot; геткурса т.е. можно разместить видео в уроках или на страницах.&lt;/p&gt;
  &lt;p id=&quot;ikbo&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;9tFi&quot;&gt;&lt;em&gt;Что мы будем использовать:&lt;/em&gt;&lt;/p&gt;
  &lt;ol id=&quot;frte&quot;&gt;
    &lt;li id=&quot;mfrK&quot;&gt;Визуальный конструктор геткурса(можно вставлять плеер на страницы и в уроки)&lt;/li&gt;
    &lt;li id=&quot;gyCJ&quot;&gt;Plyr плеер (Ссылка на документацию: &lt;a href=&quot;https://github.com/sampotts/plyr&quot; target=&quot;_blank&quot;&gt;https://github.com/sampotts/plyr&lt;/a&gt; )&lt;/li&gt;
    &lt;li id=&quot;Jynm&quot;&gt;HTML(для вставки видео), CSS и JS(в геткурсе по умолчанию подключен JQuery)&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;B510&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;iyhr&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/q0ax0fc6vvI?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Zbnc&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;o28X&quot;&gt;Шаг 1. Подключаем Plyr&lt;/h3&gt;
  &lt;p id=&quot;hXjI&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;hhbl&quot;&gt;HTML:&lt;/p&gt;
  &lt;pre id=&quot;jvrh&quot; data-lang=&quot;html&quot;&gt;&amp;lt;!-- plyr 3.7.2 --&amp;gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdn.plyr.io/3.7.2/plyr.css&amp;quot; /&amp;gt;
&amp;lt;script src=&amp;quot;https://cdn.plyr.io/3.7.2/plyr.polyfilled.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;Cjq4&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;fReo&quot;&gt;Подключение Plyr на Getcourse страницу, варианты: &lt;/p&gt;
  &lt;p id=&quot;snbh&quot;&gt;1. В поле страницы &lt;em&gt;Теги в разделе HEAD &lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;Xlhw&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/14/7c/147c8731-5aac-43be-9997-87abd1fc53b5.png&quot; width=&quot;1378&quot; /&gt;
    &lt;figcaption&gt;Пример вставки кода для подключиения Plyr в &amp;quot;Теги в разделе HEAD&amp;quot;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;oN3u&quot;&gt;ИЛИ&lt;/p&gt;
  &lt;p id=&quot;b8Om&quot;&gt;2. В HTML блок наверху страницы&lt;/p&gt;
  &lt;figure id=&quot;4Spz&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/10/36/10364116-89d5-4ae4-acbe-a84909970a91.png&quot; width=&quot;1503&quot; /&gt;
    &lt;figcaption&gt;Пример вставки кода для подключиения Plyr в &amp;quot;HTML блок&amp;quot;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;5QjN&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;g0Wl&quot;&gt;Шаг 2. Вставляем видео в HTML&lt;/h3&gt;
  &lt;p id=&quot;hp4h&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;skDT&quot; data-lang=&quot;html&quot;&gt;&amp;lt;video id=&amp;quot;player&amp;quot; playsinline controls&amp;gt;
  &amp;lt;source src=&amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/581768/sc/356/h/ed8c52d4e70d8cc5da72ac875e88b65f.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot; /&amp;gt;
&amp;lt;/video&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;zCwB&quot;&gt;&lt;em&gt;*где  src=&amp;quot;ССЫЛКА_НА_ВИДЕО_ИЗ_ГЕТКУРС_ХРАНИЛИЩА&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;03cW&quot;&gt;&lt;em&gt;id=&amp;quot;&lt;strong&gt;player&lt;/strong&gt;&amp;quot;  -  &lt;strong&gt;player &lt;/strong&gt;это идентификатор, по которому мы скриптом обращаемся к видео&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;9E69&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;vE6P&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/08/ab/08abae63-a957-47a5-84d5-8e4afd4b3c46.png&quot; width=&quot;833&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;zsiR&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a9/ee/a9ee2020-2f67-4f62-832f-c2e0b130c5bf.png&quot; width=&quot;1555&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Ke6G&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;bY3Z&quot;&gt;Шаг 3. Вставляем JS-код&lt;/h3&gt;
  &lt;p id=&quot;R5g5&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;V2j6&quot;&gt;Для того, чтобы на данном этапе убедиться что мы все делаем правильно, вставляем в JS-блок код&lt;/p&gt;
  &lt;pre id=&quot;WdgU&quot; data-lang=&quot;javascript&quot;&gt;const player = new Plyr(&amp;#x27;#player&amp;#x27;);&lt;/pre&gt;
  &lt;p id=&quot;F8BC&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;zTU9&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6f/29/6f299cb4-7485-4030-bce0-83aa7db76f8a.png&quot; width=&quot;1500&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;KSq1&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f5/e5/f5e53b51-4d93-407b-86a9-fe551b25d7fc.png&quot; width=&quot;1363&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;bGBW&quot;&gt;&lt;em&gt;*Javascript-блок должен находиться ниже чем блок с видео&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;m162&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;eHhI&quot;&gt;Сохраняем -&amp;gt; Проверяем&lt;/p&gt;
  &lt;figure id=&quot;yXGc&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bc/ef/bcef130c-19be-4138-aca5-32ab851dee49.png&quot; width=&quot;853&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;QA4F&quot;&gt;Если в нашем видео интерфейс плеера Plyr, значит мы подключили и инициализировали его правильно.&lt;/p&gt;
  &lt;p id=&quot;3di4&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;4PTB&quot;&gt;Очищаем JS поле, вместо него ставим&lt;/p&gt;
  &lt;p id=&quot;XxJB&quot;&gt;JS-код:&lt;/p&gt;
  &lt;p id=&quot;e6ZL&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;e6ZL&quot; data-lang=&quot;javascript&quot;&gt;
/*  
@name timecodesForPlyrOnGetcourse  
@author Maksim Kalmykov  
@version 1.0
*/

$(function () {


  const timecodesArr = [
    {
      time: &amp;quot;00:06&amp;quot;,
      label: &amp;quot;Чебурашка начинает петь&amp;quot;
    },

    {
      time: &amp;quot;00:25&amp;quot;,
      label: &amp;quot;Чебурашка летит в пузыре&amp;quot;
    },
    {
      time: &amp;quot;00:40&amp;quot;,
      label: &amp;quot;Чебурашка крутит юлу&amp;quot;
    },
    {
      time: &amp;quot;01:21&amp;quot;,
      label: &amp;quot;Чебурашка и Гена играют в шахматы&amp;quot;
    }

  ];


  initPlyr(&amp;quot;#player&amp;quot;, timecodesArr, &amp;quot;.timecodes-title&amp;quot;);


});


function initPlyr(plyrVideoSelector, timecodesArr = [], timecodeTitleSelector = null) {

  const videoPlayer = document.querySelector(plyrVideoSelector);

  if (!videoPlayer) return;

  const timecodesTitle = document.querySelector(timecodeTitleSelector);

  const timecodesContent = document.createElement(&amp;quot;div&amp;quot;);
  timecodesContent.className = &amp;quot;timecodes-ac-content&amp;quot;;


  timecodesArr.forEach(item =&amp;gt; {
    timecodesContent.innerHTML += &amp;#x60;
&amp;lt;p class=&amp;quot;timecode_item&amp;quot;&amp;gt;
&amp;lt;span class=&amp;quot;item_time&amp;quot;&amp;gt;${item.time}&amp;lt;/span&amp;gt;
&amp;lt;span class=&amp;quot;item_desc&amp;quot;&amp;gt;${item.label}&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;
&amp;#x60;;
  });


  const timecodesArrForPlyr = timecodesArr.reduce((acc, curr) =&amp;gt; {
    curr.time = parseTimeInSeconds(curr.time);
    acc.push(curr);
    return acc;
  }, []);


  const player = new Plyr(videoPlayer, {
    markers: {
      enabled: true,
      points: timecodesArrForPlyr
    }
  });

  timecodesContent.querySelectorAll(&amp;quot;.timecode_item&amp;quot;).forEach((timecode, i) =&amp;gt; {

    timecode.addEventListener(&amp;quot;click&amp;quot;, function () {
      player.currentTime = timecodesArrForPlyr[i].time;
    });

  });


  if (timecodesTitle &amp;amp;&amp;amp; timecodesArr.length) {
    timecodesTitle.append(timecodesContent);
  }

  if ($(timecodesTitle).hasClass(&amp;quot;timecodes-ac-trigger&amp;quot;)) {
    $(timecodesTitle).find(&amp;quot;.f-header&amp;quot;).on(&amp;quot;click&amp;quot;, function () {
      $(this).toggleClass(&amp;quot;active&amp;quot;);
      $(this).next().slideToggle();
    });
  }
}


function parseTimeInSeconds(timeStr) {

  let s = 0;

  if (typeof timeStr !== &amp;quot;string&amp;quot;) return s;

  const arrTime = timeStr.split(&amp;#x27;:&amp;#x27;);

  if (arrTime.length === 2) {
    s = parseInt(arrTime[0]) * 60 + parseInt(arrTime[1]);
  } else if (arrTime.length === 3) {
    s = parseInt(arrTime[0]) * 60 * 60 + parseInt(arrTime[1]) * 60 + parseInt(arrTime[2]);
  }

  return s;

}
&lt;/pre&gt;
  &lt;p id=&quot;uZql&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;mkbw&quot;&gt;&lt;em&gt;P.S. Уже просматривая видео решил что лучше будет если порядок аргументов в функции будет такой: &lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;aw9U&quot;&gt;&lt;code&gt;initPlyr(&amp;quot;#player&amp;quot;, timecodesArr, &amp;quot;.timecodes-title&amp;quot;);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;CXOB&quot;&gt;&lt;em&gt;(массив объектов таймкодов стал вторым а селектор заголовка 3-м)&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;ntYM&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;xfhb&quot;&gt;timecodesArr - массив объектов, в котором через запятую прописаны свойства конкретного таймкода. В этом массиве мы ставим свои значения. Эти значения подтянутся скриптом в метки на видео и в html код внутри контейнера указанного заголовка таймкодов.&lt;/p&gt;
  &lt;pre id=&quot;m8cx&quot; data-lang=&quot;javascript&quot;&gt;
  const timecodesArr = [
    {
    
      time: &amp;quot;00:06&amp;quot;, // Время таймкода
      label: &amp;quot;Чебурашка начинает петь&amp;quot; // Описаине таймкода
    }

  ];
&lt;/pre&gt;
  &lt;p id=&quot;zq75&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;aDRn&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;zvpo&quot; data-lang=&quot;javascript&quot;&gt;  initPlyr(&amp;quot;#player&amp;quot;, timecodesArr, &amp;quot;.timecodes-title&amp;quot;);&lt;/pre&gt;
  &lt;p id=&quot;llr6&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;OWx5&quot;&gt;&lt;code&gt;initPlyr(&amp;quot;&lt;em&gt;*CЕЛЕКТОР_ЭЛЕМЕНТА_ВИДЕО*&lt;/em&gt;&amp;quot;, &lt;em&gt;*МАССИВ_ОБЪЕКТОВ_ТАЙМКОДОВ*,&lt;/em&gt; &amp;quot;&lt;em&gt;*CЕЛЕКТОР_ЗАГОЛОВКА_ТАЙМКОДОВ*&lt;/em&gt;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;h5Dj&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;2PGX&quot;&gt;Шаг 4. Заголовок-контейнер для таймкодов на геткурс&lt;/h3&gt;
  &lt;p id=&quot;iNYb&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Ghpp&quot;&gt;В данном решении мы прописываем таймкоды в объекте timecodesArr, эти данные  пойдут в настройки плеера, а также под них подготовится html-разметка.&lt;/p&gt;
  &lt;p id=&quot;I6mk&quot;&gt;Для того, чтобы вставить html-разметку таймкодов, нам нужно привязаться к какому либо контейнеру на странице. Этим контейнером будет блок геткурс с заголовком, скрипт найдет его по определенному классу(например &lt;em&gt;timecodes-title&lt;/em&gt;)&lt;/p&gt;
  &lt;p id=&quot;sqJ8&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;bI9I&quot;&gt;Создаем заголовок на геткурс стандартным способом&lt;/p&gt;
  &lt;figure id=&quot;KUZc&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/47/55/47558a31-cf22-45a7-aaa6-abc35a5b594e.png&quot; width=&quot;530&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6KMZ&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;JM6L&quot;&gt;Ставим блоку с заголовком класс -  &lt;em&gt;timecodes-title&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;yJHE&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/42/c4/42c4bfa1-30f2-4891-9b96-08be61a268e7.png&quot; width=&quot;550&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;bbiX&quot;&gt;Сохраняем&lt;/p&gt;
  &lt;figure id=&quot;99JD&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/91/ce/91ce65e6-fcc9-4c80-8392-611d32483c76.png&quot; width=&quot;910&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;RFtj&quot;&gt;Возле заголовка автоматически появилась разметка с таймкодами, и они даже работают при клике, но не хватает стилизации&lt;/p&gt;
  &lt;p id=&quot;RX0W&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;mPN0&quot;&gt;Шаг 5. Добавляем стилизацию&lt;/h3&gt;
  &lt;p id=&quot;mMIb&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;X1n1&quot;&gt;CSS-стили&lt;/p&gt;
  &lt;pre id=&quot;mGUE&quot; data-lang=&quot;css&quot;&gt;/* Подключение шрифта Montserrat 400;700 */
@import url(&amp;#x27;https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&amp;amp;display=swap&amp;#x27;);


:root {

  /* Основной цвет плеера */
  --plyr-color-main: #C96BFF;

  --fontTimecodes: &amp;quot;Montserrat&amp;quot;, &amp;quot;proxima-nova&amp;quot;, sans-serif;
}


.plyr__progress .plyr__tooltip {
  
/* Ширина тултипов */
  width: 160px;
}


.timecodes-title p,
.timecode_item {
  font-family: var(--fontTimecodes);
}

.timecodes-title .f-header {
  font-size: 24px;
  padding-bottom: 15px;
}

.timecode_item {
  padding: 4px 0;
  font-size: 16px;
  display: flex;
  cursor: pointer;
}

.timecode_item span {
  display: inline-block;
  line-height: 1.2;
}


.timecode_item .item_time {
  margin-right: 8px;
  flex:0 0 50px;
  font-weight: 700;

  /* Цвет времени в таймкоде*/
  color: #4848ee;
  transition: color .4s ease;
}


.timecode_item:hover .item_time {
  /* Цвет времени в таймкоде при наведении*/
  color: var(--plyr-color-main);
}

@media (max-width: 375px) {
  .timecode_item {
    font-size: 14px;
  }
}



/* СТИЛИ АККОРДЕОНА */
.timecodes-ac-trigger {
  cursor: pointer;
  box-shadow: 0 4px 12px rgb(0 0 0 / 20%);
  border-radius: 4px;
}


.timecodes-ac-trigger .f-header {
  padding: 20px 16px 20px 70px;
  position: relative;
  user-select: none;
}


.timecodes-ac-trigger .f-header::before {
  content: &amp;quot;&amp;quot;;
  width: 40px;
  height: 40px;
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50px;
/* Изображение стрелки */
  background-image: url(&amp;quot;https://fs.getcourse.ru/fileservice/file/download/a/581768/sc/243/h/5d184da29d96d2785c216cca452febb3.svg&amp;quot;);
/* Цвет круглого фона стрелки */
  background-color: #ffdda7;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
  transition:filter .4s ease, transform .4s ease ;
}

.timecodes-ac-trigger .f-header.active::before {
  transform: translateY(-50%) rotate(180deg);
}

.timecodes-ac-trigger .f-header:hover::before {
  filter: brightness(105%);
}


.timecodes-ac-trigger .timecodes-ac-content {
  display: none;
  padding: 8px 16px 16px 16px;
}


@media (max-width: 375px) {
  .timecodes-ac-trigger .f-header {
    font-size: 18px;
  }

  .timecodes-ac-trigger .f-header::before {
    width: 32px;
    height: 32px;
    background-size: 16px;
  }

  .timecodes-ac-trigger .f-header {
    padding: 15px 15px 15px 60px;
  }

}
/* &amp;lt;/ СТИЛИ АККОРДЕОНА */


&lt;/pre&gt;
  &lt;p id=&quot;DsP9&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;iW87&quot;&gt;Можно добавить в CSS-блок либо вставить и подключить через тему&lt;/p&gt;
  &lt;p id=&quot;Snkc&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;nnSw&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Hy37&quot;&gt;На данный момент таймкоды и видео выглядят так&lt;/p&gt;
  &lt;p id=&quot;RpCJ&quot;&gt;Простой вариант:&lt;/p&gt;
  &lt;figure id=&quot;KLIv&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/86/80861c0d-a718-4ff5-8501-3d1ab7263148.png&quot; width=&quot;910&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;p0D2&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;I6CJ&quot;&gt;В скрипте и стилях предусмотрен вариант таймкодов в виде выпадающего списка&lt;/p&gt;
  &lt;p id=&quot;Nbpj&quot;&gt;Чтобы инициализировать аккордеон добавляем класс &lt;em&gt;timecodes-ac-trigger&lt;/em&gt; в классы заголовка &lt;/p&gt;
  &lt;figure id=&quot;swf4&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/64/02/640260c2-8a50-468f-ae30-e27453400a1d.png&quot; width=&quot;553&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;e8Wb&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WN9h&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WA29&quot;&gt;Результат:&lt;/p&gt;
  &lt;figure id=&quot;Bcnk&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2d/f5/2df5ef99-d122-4d5f-aa26-02b06d2850f7.png&quot; width=&quot;813&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;7018&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/91/98/9198dc87-2e03-4bf8-a6e3-e52f6ade1387.png&quot; width=&quot;816&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;qGns&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;pu03&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Drbh&quot;&gt;&lt;em&gt;Как сделать несколько видео с таймкодами?&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;3a5R&quot;&gt;Самый простой способ - вызывать несколько функций инициализации плеера с уникальными параметрами&lt;/p&gt;
  &lt;p id=&quot;ofyB&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;yfIp&quot;&gt;Пример&lt;/p&gt;
  &lt;pre id=&quot;0i6b&quot; data-lang=&quot;javascript&quot;&gt;$(function () {


    const timecodesArr1 = [
        {
            time: &amp;quot;00:06&amp;quot;,
            label: &amp;quot;Чебурашка начинает петь&amp;quot;
        },

        {
            time: &amp;quot;00:26&amp;quot;,
            label: &amp;quot;Чебурашка летит в пузыре&amp;quot;
        },
        {
            time: &amp;quot;00:40&amp;quot;,
            label: &amp;quot;Чебурашка крутит юлу&amp;quot;
        },
        {
            time: &amp;quot;01:22&amp;quot;,
            label: &amp;quot;Чебурашка и Гена играют в шахматы&amp;quot;
        }

    ];

    const timecodesArr2 = [
        {
            time: &amp;quot;00:06&amp;quot;,
            label: &amp;quot;2 Чебурашка начинает петь&amp;quot;
        },

        {
            time: &amp;quot;00:26&amp;quot;,
            label: &amp;quot;2 Чебурашка летит в пузыре&amp;quot;
        },
        {
            time: &amp;quot;00:40&amp;quot;,
            label: &amp;quot;2 Чебурашка крутит юлу&amp;quot;
        },
        {
            time: &amp;quot;01:22&amp;quot;,
            label: &amp;quot;2 Чебурашка и Гена играют в шахматы&amp;quot;
        }

    ];


    initPlyr(&amp;quot;#player&amp;quot;, timecodesArr1, &amp;quot;.timecodes-title_1&amp;quot;);

    
    // player2 - id видео в html
    // timecodesArr2 - еще один массив с таймкодами
    // timecodes-title_2 - класс заголовка
    initPlyr(&amp;quot;#player2&amp;quot;, timecodesArr2, &amp;quot;.timecodes-title_2&amp;quot;);

});&lt;/pre&gt;
  &lt;p id=&quot;4W5u&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;346V&quot;&gt;id видео ставится в html атрибуте  - &lt;em&gt;id&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;q0bv&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/29/4f/294f1189-7966-433d-a2ce-a8da0b5d7aab.png&quot; width=&quot;470&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;2AT5&quot;&gt;Уникальный класс для заголовка можно поставить в настройках заголовка&lt;/p&gt;
  &lt;figure id=&quot;dgAj&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ac/05/ac051fe8-a356-4ebe-86ee-e4d04e3e116a.png&quot; width=&quot;548&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;POXq&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;1h5U&quot;&gt;initPlyr(&amp;quot;#player&amp;quot;, timecodesArr1, &amp;quot;.timecodes-title_1&amp;quot;);&lt;/pre&gt;
  &lt;p id=&quot;nSPv&quot;&gt;Передавая параметры в функцию мы решаем, какая сущность к чему относится&lt;/p&gt;
  &lt;p id=&quot;ym2Y&quot;&gt;т.е. #player - инициализируем тот плеер, которого &lt;em&gt;id=&amp;quot;player&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;QLtH&quot;&gt;timecodesArr1 - берем именно этот массив таймкодов&lt;/p&gt;
  &lt;p id=&quot;Etac&quot;&gt;&amp;quot;.timecodes-title_1&amp;quot; - контейнером таймкодов будет заголовок с классом &lt;em&gt;timecodes-title_1&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;bpee&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;oWB7&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;vrBZ&quot;&gt;Телеграм-канал: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;z6AN&quot;&gt;Youtube: &lt;a href=&quot;https://www.youtube.com/channel/UCAVwlN_NSAEFR4mJRpzyvCg&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/channel/UCAVwlN_NSAEFR4mJRpzyvCg&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;UbUk&quot;&gt;VK: &lt;a href=&quot;https://vk.com/getcomponent&quot; target=&quot;_blank&quot;&gt;https://vk.com/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;LNlx&quot;&gt;Нельзяграм: @maximilia_n&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>aston_max:ajol-mGbE9E</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/ajol-mGbE9E?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>Геткурс. Оформление блока «Достижение пользователя»</title><published>2022-09-10T11:57:24.647Z</published><updated>2022-09-10T12:41:17.669Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/40/ee/40ee3a34-31d1-46e5-a212-b65b236b3bb9.png"></media:thumbnail><category term="oformlenie-getkurs" label="Оформление геткурс"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/d9/70/d9704d11-7523-4df3-8f2d-70fdd2a09ebd.jpeg&quot;&gt;Мини-инструкция о том, как можно стилизовать блок &quot;Достижение пользователя в тренинге&quot;</summary><content type="html">
  &lt;p id=&quot;fQRO&quot;&gt;Мини-инструкция о том, как можно стилизовать блок &amp;quot;Достижение пользователя в тренинге&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;RX85&quot;&gt;&lt;/p&gt;
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#nQJo&quot;&gt;Шаг 1. Вставляем CSS код&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#BDFY&quot;&gt;Шаг 2. Меняем видимое пользователю название шкалы&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#RM9s&quot;&gt;Шаг 3. Заменяем слово «балл» с помощью JS-кода &lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;p id=&quot;ll81&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;e9Xn&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;E2ry&quot;&gt;Прежде чем оформлять данный блок, он должен быть на странице&lt;/p&gt;
  &lt;figure id=&quot;FrLq&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d9/70/d9704d11-7523-4df3-8f2d-70fdd2a09ebd.jpeg&quot; width=&quot;1384&quot; /&gt;
    &lt;figcaption&gt;Создание шкалы достижений в тренинге&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xhrB&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;IDvA&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/92/8092b908-6c63-4aa9-b450-5090bce98451.png&quot; width=&quot;535&quot; /&gt;
    &lt;figcaption&gt;Вид по умолчанию блока &amp;quot;Достижение пользователя в тренинге&amp;quot;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;vMjU&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;U1f5&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;nQJo&quot;&gt;Шаг 1. Вставляем CSS код&lt;/h2&gt;
  &lt;p id=&quot;pH3V&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;QNQr&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2e/eb/2eeb29ef-7dbb-4e90-a6c8-82dfbcc26899.jpeg&quot; width=&quot;534&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;o5o8&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;IytO&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/54/21/542100b7-68d8-4c59-b742-9bfa10bf920f.png&quot; width=&quot;948&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;4Rus&quot;&gt;&lt;br /&gt;CSS-код:&lt;/p&gt;
  &lt;pre id=&quot;hg2p&quot; data-lang=&quot;css&quot;&gt;/* Шрифт Montserrat 400, 500, 700 */
@import url(&amp;#x27;https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&amp;amp;display=swap&amp;#x27;);


:root {
  --fontM: &amp;quot;Montserrat&amp;quot;, &amp;quot;proxima-nova&amp;quot;, sans-serif;
}


/* ШКАЛА ДОСТИЖЕНИЙ */

.xdget-trainingAchievements {
  padding: 20px 20px 10px 20px;
  margin: 0 auto;
  border-radius: 12px;
  max-width: 440px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}

/* Заголовок блока */
.xdget-trainingAchievements .table&amp;gt;thead&amp;gt;tr&amp;gt;th {
  border: 0;
  padding: 0 0 15px 0;
  font-size: 0;
  font-family: var(--fontM);
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  text-transform: uppercase;
  color: #333333;
}

/* Меняем строку заголовка */
.xdget-trainingAchievements .table&amp;gt;thead&amp;gt;tr&amp;gt;th::before {
  content: &amp;#x27;Мои достижения&amp;#x27;;
  font-size: 20px;
}


.xdget-trainingAchievements .table&amp;gt;tbody&amp;gt;tr&amp;gt;td {
  padding: 10px 0 10px 0;
  font-family: var(--fontM);
  vertical-align: middle;
}

.xdget-trainingAchievements .table&amp;gt;tbody&amp;gt;tr&amp;gt;td a {
  font-size: 16px;
  color: #242240;
}

/* Элемент с отображением баллов */
.xdget-trainingAchievements .badge {
  margin: 0 !important;
  padding: 4px 12px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 20px;

  /* Цвет плашки с баллами */
  background-color: #00aa8d;
}


@media (max-width:400px) {
  .xdget-trainingAchievements {
    padding: 15px 15px 10px 15px;
  }

  .xdget-trainingAchievements .table&amp;gt;thead&amp;gt;tr&amp;gt;th {
    padding: 0 0 10px 0;
  }


  .xdget-trainingAchievements .table&amp;gt;thead&amp;gt;tr&amp;gt;th::before {
    font-size: 18px;
  }

  .xdget-trainingAchievements .table&amp;gt;tbody&amp;gt;tr&amp;gt;td a {
    font-size: 14px;
  }

  .xdget-trainingAchievements .badge {
    font-size: 12px;
    padding: 3px 8px;
  }
}

/* &amp;lt;/ ШКАЛА ДОСТИЖЕНИЙ */&lt;/pre&gt;
  &lt;p id=&quot;EFso&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;zhjR&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/0e/05/0e05c2f9-3106-4442-91e1-4da77204189b.jpeg&quot; width=&quot;1678&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;yNLc&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/93/d0/93d08166-d846-49ac-a558-08523f2c045e.jpeg&quot; width=&quot;298&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;5GnJ&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;8ZIT&quot;&gt;После вставки CSS-кода и сохранения изменений блок принимает такой вид:&lt;/p&gt;
  &lt;figure id=&quot;HpBU&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6c/77/6c777ab6-0eed-407b-8659-48202ba93731.png&quot; width=&quot;910&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ssWR&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;ZsQi&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;BDFY&quot;&gt;Шаг 2. Меняем видимое пользователю название шкалы&lt;/h2&gt;
  &lt;p id=&quot;DivB&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;BqjO&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6f/38/6f383615-688e-4356-87f5-7d2131fe026c.png&quot; width=&quot;550&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;qw6P&quot;&gt;Это название можно изменить с помощью стандартных настроек шкалы в геткурсе&lt;/p&gt;
  &lt;figure id=&quot;3Z1r&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/28/91/28914576-8823-4e6f-97a2-dae2a328dc0b.png&quot; width=&quot;1250&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;syrZ&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;xNcN&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;RM9s&quot;&gt;Шаг 3. Заменяем слово «балл» с помощью JS-кода &lt;/h2&gt;
  &lt;p id=&quot;P4CD&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;zWUK&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;M7DH&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6b/f0/6bf009b1-b5b3-44af-95f5-af28e8f16ba8.png&quot; width=&quot;510&quot; /&gt;
    &lt;figcaption&gt;Стандартное слово - балл&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;NikN&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WkNz&quot;&gt;&lt;em&gt;Настоить вид &lt;strong&gt;→ &lt;/strong&gt;Добавить блок &lt;strong&gt;→&lt;/strong&gt;Javascript&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;cRTe&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/de/48/de483936-7af3-4a34-b1be-4711a82b8dbe.png&quot; width=&quot;1827&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xnm6&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;MEjn&quot;&gt;JS-код:&lt;/p&gt;
  &lt;pre id=&quot;jybU&quot; data-lang=&quot;javascript&quot;&gt;$(document).ready(function () {
  $(&amp;#x27;.xdget-trainingAchievements .badge&amp;#x27;).text($(&amp;#x27;.xdget-trainingAchievements .badge&amp;#x27;).text()
    .replace(&amp;#x27;баллов&amp;#x27;, &amp;#x27;кристаллов&amp;#x27;)
    .replace(&amp;#x27;балла&amp;#x27;, &amp;#x27;кристалла&amp;#x27;)    
    .replace(&amp;#x27;балл&amp;#x27;, &amp;#x27;кристалл&amp;#x27;));
});
&lt;/pre&gt;
  &lt;p id=&quot;hZLv&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;OTAr&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bc/ce/bcced0c7-577b-4ec4-8af1-39274150f98d.jpeg&quot; width=&quot;688&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;buvU&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/93/d0/93d08166-d846-49ac-a558-08523f2c045e.jpeg&quot; width=&quot;298&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;cQ27&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;9Hzc&quot;&gt;* Вместо слов &amp;quot;кристалл&amp;quot; можно написать свои слова в необходимых склонениях&lt;/p&gt;
  &lt;p id=&quot;UZdK&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;5gkd&quot;&gt;Наш результат:&lt;/p&gt;
  &lt;figure id=&quot;K1sN&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6c/30/6c30fe61-f98e-4e0f-8698-8693f2dd5e84.png&quot; width=&quot;1300&quot; /&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;vrBZ&quot;&gt;Телеграм-канал: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;UbUk&quot;&gt;VK: &lt;a href=&quot;https://vk.com/getcomponent&quot; target=&quot;_blank&quot;&gt;https://vk.com/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;LNlx&quot;&gt;Нельзяграм: @maximilia_n&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>aston_max:UeIu50bnN8u</id><link rel="alternate" type="text/html" href="https://teletype.in/@aston_max/UeIu50bnN8u?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aston_max"></link><title>Скрываем элементы на геткурсе с помощью кодов</title><published>2022-08-30T08:32:26.009Z</published><updated>2022-12-20T16:50:25.280Z</updated><category term="oformlenie-getkurs" label="Оформление геткурс"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/fa/34/fa34c220-536e-4beb-92c1-2ce0abdcac2e.jpeg&quot;&gt;Выписал несколько кодов по скрытию элементов на геткурсе которые часто приходилось применять на практике</summary><content type="html">
  &lt;p id=&quot;Hu8C&quot;&gt;Выписал несколько кодов по скрытию элементов на геткурсе которые часто приходилось применять на практике&lt;/p&gt;
  &lt;p id=&quot;h5Py&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;zLHs&quot;&gt;Тренинги&lt;/h2&gt;
  &lt;h3 id=&quot;6lLW&quot;&gt;Обратиться к конкретному тренингу в списке тренингов геткурса и скрыть его&lt;/h3&gt;
  &lt;p id=&quot;wJ9Z&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;YNqX&quot;&gt;CSS-код:&lt;/p&gt;
  &lt;pre id=&quot;GlOK&quot; data-lang=&quot;css&quot;&gt;/* Скрыть конкретный тренинг */
.stream-table tr[data-training-id=&amp;quot;635682646&amp;quot;] {
    display: none;
}&lt;/pre&gt;
  &lt;p id=&quot;hgpA&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;TtkX&quot;&gt;где &lt;em&gt;635682646&lt;/em&gt; - это id нужного тренинга.&lt;/p&gt;
  &lt;p id=&quot;Zcci&quot;&gt;Этот id можно взять посмотрев код элемента в панели разработчика&lt;/p&gt;
  &lt;figure id=&quot;s0JH&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/fa/34/fa34c220-536e-4beb-92c1-2ce0abdcac2e.jpeg&quot; width=&quot;740&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;qics&quot;&gt;Или из ссылки на тренинг&lt;/p&gt;
  &lt;figure id=&quot;9CUp&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/90/cc/90cc7881-8f41-49c1-9e16-758949142f2f.jpeg&quot; width=&quot;606&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;EOgz&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;u230&quot;&gt;Скрыть количество уроков в списке тренингов&lt;/h3&gt;
  &lt;p id=&quot;xQst&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;QBL1&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c5/e2/c5e27123-ecda-4e1b-a325-48f26f74e498.png&quot; width=&quot;1188&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;mCBy&quot;&gt;CSS-код:&lt;/p&gt;
  &lt;pre id=&quot;kESq&quot; data-lang=&quot;css&quot;&gt;/* Скрыть количество уроков в списке тренингов */
.stream-table tr &amp;gt; td &amp;gt; a &amp;gt; div &amp;gt; b {
  display: none;
}&lt;/pre&gt;
  &lt;p id=&quot;KRxg&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;599e&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;A041&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;EQYi&quot;&gt;Скрыть строку имя учителя в списке тренингов&lt;/h3&gt;
  &lt;p id=&quot;Xnd8&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;CN09&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e1/53/e1535bb3-d567-438e-9e40-bafe4ddd6224.png&quot; width=&quot;1188&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pIM3&quot;&gt;JS код:&lt;/p&gt;
  &lt;pre id=&quot;r19B&quot; data-lang=&quot;javascript&quot;&gt;$(function() {
    
    const teacherStr = &amp;quot;Максим Калмыков.&amp;quot;;

    $(&amp;#x60;.stream-table tr &amp;gt; td &amp;gt; a &amp;gt; div:contains(${teacherStr})&amp;#x60;).each((i, el)=&amp;gt; {

        $(el).html($(el).html().replace(teacherStr, &amp;#x27;&amp;#x27;));
    
    });
    
});&lt;/pre&gt;
  &lt;p id=&quot;8NPq&quot;&gt;* где &lt;em&gt;Максим Калмыков. &lt;/em&gt;- это строка имени учителя, которая удалится (прописывать внутри кавычек)&lt;/p&gt;
  &lt;p id=&quot;As4B&quot;&gt;* это JS-код, его нужно вставлять в javascript блок&lt;/p&gt;
  &lt;p id=&quot;FRG8&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;3sQO&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;ixnc&quot;&gt;Скрыть описание тренингов&lt;/h3&gt;
  &lt;figure id=&quot;4G0j&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f2/1f/f21fb6f5-571f-4219-bb60-c96fd9a90b82.png&quot; width=&quot;1188&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;8zgs&quot;&gt;CSS-код:&lt;/p&gt;
  &lt;pre id=&quot;1UJ1&quot; data-lang=&quot;css&quot;&gt;/* Скрыть описание тренингов */
.stream-table tr &amp;gt; td &amp;gt; a &amp;gt; div {
  display: none;
}&lt;/pre&gt;
  &lt;p id=&quot;iu4E&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;hFiH&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;2fen&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;ipUB&quot;&gt;Список уроков&lt;/h2&gt;
  &lt;p id=&quot;qI7x&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;6epq&quot;&gt;Скрыть конкретный урок&lt;/h3&gt;
  &lt;p id=&quot;XlTF&quot;&gt;Обратиться к конкретному уроку в списке уроков и скрыть его ( Например, чтобы вынести ссылку на него в отдельную кнопку: правила, расписание и тд. )&lt;/p&gt;
  &lt;pre id=&quot;v1up&quot; data-lang=&quot;css&quot;&gt;/* Скрыть конкретный урок */
.lesson-list .lesson-id-253731501 {
  display: none;
}&lt;/pre&gt;
  &lt;p id=&quot;lgbX&quot;&gt;* где &lt;em&gt;253731501&lt;/em&gt; - это id урока. Можно взять из ссылки на урок или из элемента в панели разработчика.&lt;/p&gt;
  &lt;p id=&quot;FVnL&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;9548&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;Wvx6&quot;&gt;Скрыть надпись &amp;quot;Есть задание&amp;quot; в списке уроков&lt;/h3&gt;
  &lt;p id=&quot;4CTD&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;dlWA&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c6/da/c6da22c0-ae32-43be-b34a-d54e76a18713.png&quot; width=&quot;1328&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Ehrm&quot;&gt;CSS-код:&lt;/p&gt;
  &lt;pre id=&quot;42B3&quot; data-lang=&quot;css&quot;&gt;/* Скрыть надпись &amp;quot;Есть задание&amp;quot; в списке уроков */
.lesson-list li.user-state-has_mission .user-state-label:not(.has-start-at):not(.is-stop-lesson) {
  display: none;
} &lt;/pre&gt;
  &lt;p id=&quot;YzVD&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;OjKC&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;D5d4&quot;&gt;Скрыть надпись &amp;quot;Чтобы получить доступ к следующим урокам, вам необходимо выполнить задание в предыдущем&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;Wm8d&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;4tqi&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/39/dc/39dc7d5e-f620-44b8-a67b-aea9e60b2c9f.png&quot; width=&quot;1303&quot; /&gt;
  &lt;/figure&gt;
  &lt;pre id=&quot;xsry&quot; data-lang=&quot;css&quot;&gt;/* Скрыть надпись в списке уроков &amp;quot;Чтобы получить доступ к следующим урокам, вам необходимо выполнить задание в предыдущем&amp;quot; */
.lesson-list li.divider {
     display: none; 
}&lt;/pre&gt;
  &lt;p id=&quot;ZaIE&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;8W64&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;yVnS&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;WWBA&quot;&gt;Внутри урока&lt;/h2&gt;
  &lt;p id=&quot;mdT4&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;ZrHE&quot;&gt;Скрыть количество уроков в шапке урока&lt;/h3&gt;
  &lt;p id=&quot;uOnd&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;hw59&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/56/30/5630eb9a-95c8-4265-8122-2527c9e73401.png&quot; width=&quot;1183&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pSNZ&quot;&gt;CSS-код:&lt;/p&gt;
  &lt;pre id=&quot;t8qN&quot; data-lang=&quot;css&quot;&gt;/* Скрыть количество уроков в шапке урока */
.lesson-navigation tbody &amp;gt; tr &amp;gt; td.text-center.hidden-xs &amp;gt; span {
    display: none;
}&lt;/pre&gt;
  &lt;p id=&quot;wGqq&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;ueCN&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;3Jov&quot;&gt;Скрыть кнопку &amp;quot;Сохранить черновик&amp;quot; в блоке задания&lt;/h3&gt;
  &lt;p id=&quot;Ypy7&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;irRB&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ac/33/ac336e51-8178-46e3-b426-822db2b44aeb.png&quot; width=&quot;1183&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xJok&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;9oGq&quot;&gt;CSS-код:&lt;/p&gt;
  &lt;pre id=&quot;XyCh&quot; data-lang=&quot;css&quot;&gt;/* Скрыть кнопку &amp;quot;Сохранить черновик&amp;quot; */
.lt-lesson-mission-block .btn-save-draft {
  display: none;
}&lt;/pre&gt;
  &lt;p id=&quot;RJHW&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;AnqE&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;t23q&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;vrBZ&quot;&gt;Телеграм-канал: &lt;a href=&quot;https://t.me/getcomponent&quot; target=&quot;_blank&quot;&gt;https://t.me/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;UbUk&quot;&gt;VK: &lt;a href=&quot;https://vk.com/getcomponent&quot; target=&quot;_blank&quot;&gt;https://vk.com/getcomponent&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;LNlx&quot;&gt;Нельзяграм: @maximilia_n&lt;/p&gt;
  &lt;/section&gt;

</content></entry></feed>