Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Форум для новичков » Общие вопросы от новичков (63) #2


Общие вопросы от новичков (63) #2

Сообщений 1401 страница 1420 из 1516

1

Инструменты для поиска и редактирования стиля (скриптов).

Как с помощью браузера можно определить элемент дизайна.

Каталог скриптов/CSS

Полезные скрипты, необходимые темы для новичков, а также ссылки на сайты рассказывающие что такое HTML и CSS.

Типовые Вопросы (ЧаВо)

Ответы на часто задаваемые вопросы.

Как задавать вопросы! Разница между стилем и скриптом. ( Советы)

Плюс к названию темы еще и Памятка.

Любой вопрос по оформлению/неполадкам сопровождайте ссылкой на форум, по которому возникли сложности.

Предыдущая часть темы: Общие вопросы от новичков (63)

+1

1401

Добрый день, в связи с недавними событиями хотела бы узнать, где можно взять скрипт для окошка, для подтверждения что пользователю есть 18 лет.  Видела данный скрипт на этом форуме https://urchoice.su/ . Заранее спасибо

0

1402

Шарисия
Запросы по скриптам #11

Код:
<!--  В HTML низ //Уведомление о содержании в указанных форумах -->
<script type="text/javascript">
(function(){
/* Уведомление в указанных форумах */
  var UwedomForumId = {
    //ID форума на главной  //"Текст Уведомления";
    2:   'Вы собираетесь перейти в тему, содержащую материалы, которые относятся к категории "Для взрослых". Переход приостановлен, Вам должно быть не менее 18 лет. Введите Ваш возраст:', 
    3:   'Вы собираетесь перейти в тему, содержащую материалы, которые относятся к категории "Для взрослых". Переход приостановлен, Вам должно быть не менее 18 лет. Введите Ваш возраст:', 
    21:  'Вы собираетесь перейти в тему, содержащую материалы, которые относятся к категории "Для взрослых". Переход приостановлен, Вам должно быть не менее 18 лет. Введите Ваш возраст:', 
    33:  'Вы собираетесь перейти в тему, содержащую материалы, которые относятся к категории "Для взрослых". Переход приостановлен, Вам должно быть не менее 18 лет. Введите Ваш возраст:', 
    39:  'Вы собираетесь перейти в тему, содержащую материалы, которые относятся к категории "Для взрослых". Переход приостановлен, Вам должно быть не менее 18 лет. Введите Ваш возраст:', 
    40:  'Вы собираетесь перейти в тему, содержащую материалы, которые относятся к категории "Для взрослых". Переход приостановлен, Вам должно быть не менее 18 лет. Введите Ваш возраст:'  //Последний элемент без запятой!
  }
 
  var a = $('head>link[rel="up"]'),b,c = $('#pun-viewforum').length, storag = window.localStorage, idF;
  if(a.length)b = UwedomForumId[idF=a[0].href.split('/viewforum.php?id=')[1]];
  if(c)b = UwedomForumId[idF=document.URL.split(/\/viewforum\.php\?id=|&p=|#/)[1]];
  if(typeof b=='undefined')return false;
  if(typeof storag["setOtwetheno"]=='undefined')storag["setOtwetheno"]="";
  var arrSetOtwetheno = storag["setOtwetheno"].split(',')
  if($.inArray(idF,arrSetOtwetheno)!=-1) return false;
  else {
    if (parseInt(prompt(b,''))>=18){storag["setOtwetheno"] = arrSetOtwetheno.join(',')+idF+',';return;} 
    else location.replace('/');
  }
}());
</script>

Отредактировано ACT3255 (Вс, 27 Окт 2024 06:30:41)

0

1403

Добрый день подскажите пожалуйста как-то можно сделать чтобы вот эти уведомления для администратора форума больше не появлялись?

тык

p.s. ссылка на форум, если нужна (но там стоит профилактика, если прям будет нужно, то пишите, я сниму): https://realitytest.rusff.me/

+1

1404

мятный чай
У Вас стоит в HTML верх старый скрипт комментов к репутации Alex_63 от 2016 года в HTML верх:

<!-- Комментарии к репутации --><script>
var mybbRespect ={};
mybbRespect.forum   = 33; //ID форума с репутацией <RESPECT>;
mybbRespect.reason  = 1; //Обязательность указания причин при минусах: 0 - не обязательно, 1 - обязательно!;
</script>
<script type="text/javascript" src="https://forumstatic.ru/files/0016/0b/c8/84477.js"></script>

1. Вариант - снять его, должен работать скрипт комментов от русфф
2. Вариант - поставить платные коды от того же Alex_63 (ccылки с пояснениями в черном уведомлении

Отредактировано Deff (Пн, 4 Ноя 2024 15:08:51)

+3

1405

Доброго времени !

Не получается испрасить код . Нужно что бы по ссылке темы , название отображалось полностью . В данный момент ссылка обрезана
Помогите исправить , заранее благодарю !

Код:
<!------------------------------------------------------------------------------------------------------------------------>
<!-- Последние  сообщений форума, новая версия © Alex_63 -->
<style>
.container.stats { margin-bottom: -10px; }
.stats table {
  padding: 0 !important;
  margin-top: 1px;
  width: 100%;
  table-layout: auto; /* Автоматическая подстройка ширины столбцов */
  border-collapse: collapse; /* Объединяет границы ячеек */
}
.stats table th, .stats table td {
  padding: .30em .60em;
  border: 1px solid #ADD8E6; /* Стандартный цвет для всех границ */
  text-align: center; /* Центрируем текст */

}

.stats .tcr a:hover {
  text-decoration: underline; /* Подчеркивание текста при наведении */
  color: #32CD32; /* Салатовый цвет при наведении */
}
</style>

<script src="/export.php?type=js&max=30" type="text/javascript"></script>
<script type="text/javascript">
(function() {
  var numPosts = 9; // Количество выводимых сообщений (не более 20)
  var html = '';
  var html0 = '<div class="container stats"><span class="t-head">\
                </span><table cellspacing="0" class="container">\
                <thead><tr><th>Автор</th><th>Дата</th><th>Время поста</th><th>Последнее сообщение в теме</th></tr>\
                </thead><tbody class="hasicon">';

  for (var i = 0; i < Math.min(content.length, numPosts); i++) {
    var s0 = content[i][0], s1 = content[i][1], s2 = content[i][2], s3 = content[i][3];


    var ts = new Date(s0 * 1000);
    var datePart = ts.toISOString().slice(0, 10);
    var timePart = ts.toTimeString().slice(0, 8);

    var row = `<tr><td>${s1}</td><td class="tc2">${datePart}</td><td class="tc2">${timePart}</td><td class="tcr">\
               <a href="${s2}" target="_blank">${s3}</a></td></tr>`;
    
    // Если текст не содержит определенных символов, добавляем строку в html
    if (!(s3.includes('·') || s3.includes('¬'))) {
      html += row;
    }
  }

  var finalHtml = html0 + html + '</tbody></table></div><br/><h2><span>Общая статистика</span></h2>';
  $('.statscon').prepend(finalHtml);


})();
</script>

https://forumupload.ru/uploads/0000/14/1c/39142/t146565.png

Отредактировано sant24 (Пт, 8 Ноя 2024 23:46:27)

0

1406

sant24
Только переделывать код на работу с MyBB Forum API, export.php отдаёт данные в таком виде, с обрезанным названием темы.

+2

1407

Alex_63 написал(а):

sant24
Только переделывать код на работу с MyBB Forum API, export.php отдаёт данные в таком виде, с обрезанным названием темы.

Может кому пригодиться , спасибо !

Код:
<!------------------------------------------------------------------------------------------------------------------------>
<!-- Последние сообщения форума, новая версия © Alex_63 + API  -->
<style>
.container.stats { margin-bottom: -10px; }
.stats table {
  padding: 0 !important;
  margin-top: 1px;
  width: 100%;
  table-layout: auto; /* Автоматическая подстройка ширины столбцов */
  border-collapse: collapse; /* Объединяет границы ячеек */
}
.stats table th, .stats table td {
  padding: .30em .60em;
  border: 1px solid #ADD8E6; /* Стандартный цвет для всех границ */
  text-align: center; /* Центрируем текст */
}
.stats table td a.tcr:hover {
  text-decoration: underline;  /* Подчеркивание текста при наведении */
  color: #32CD32; /* Салатовый цвет при наведении */
}
</style>


<script type="text/javascript">
(function() {
  var numPosts = 9; // Количество выводимых сообщений (не более 20)
  var html = '';
  var html0 = '<div class="container stats"><span class="t-head">Последние сообщения форума</span><table cellspacing="0" class="container">\
                <thead><tr><th>Автор</th><th>Последнее сообщение в теме</th><th>Дата</th><th>Время написания поста</th></tr>\
                </thead><tbody class="hasicon">';

  // Получаем данные с API форума
  fetch('/api.php?method=topic.getRecent')
    .then(response => response.json())
    .then(data => {
      if (data.response && data.response.length > 0) {
        for (var i = 0; i < Math.min(data.response.length, numPosts); i++) {
          var post = data.response[i];
          var s0 = post.posted;  // Время сообщения
          var s1 = post.username;  // Автор
          var s2 = post.subject;  // Название темы
          var s3 = post.last_username;  // Автор последнего сообщения
          var topicId = post.id;  // Идентификатор темы
          var lastPostId = post.last_post_id;  // Идентификатор последнего сообщения
          var totalPosts = post.num_replies + 1; // Общее количество сообщений в теме (включая первое)
          var postsPerPageStart = 20; // Число сообщений на странице
          
          var postsPerPage =postsPerPageStart *10; 
          // Преобразуем Unix timestamp в дату и время
          var ts = new Date(s0 * 1000);
          var datePart = ts.toISOString().slice(0, 10);
          var timePart = ts.toTimeString().slice(0, 8);

          // Вычисляем номер страницы для последнего сообщения
          var pageNum = totalPosts < postsPerPage ? 1 : Math.ceil(totalPosts / postsPerPage);
          
          console.log(pageNum); // Выводим номер страницы

          // Формируем ссылку на последнюю страницу темы
          [ul=decimal][color=#000000]var lastPageUrl = `/viewtopic.php?pid=${lastPostId}#p${lastPostId}`;[/color][/ul]
          // Формируем строку для таблицы
          var row = `<tr> <td>${s3}</td><td class="tc2"><a href="${lastPageUrl}" target="_blank" class="tcr">${s2}</a></td><td class="tc2">${datePart}</td><td class="tc2">${timePart}</td></tr>`;

          // Добавляем строку в итоговый HTML
          html += row;
        }
        // Завершаем таблицу
        var finalHtml = html0 + html + '</tbody></table></div><br/><h2><span>Общая статистика</span></h2>';
        
        // Проверка наличия элемента с классом .statscon
        if ($('.statscon').length) {
          $('.statscon').prepend(finalHtml);
        } else {
          console.error('Элемент с классом .statscon не найден');
        }
      } else {
        console.error("Нет данных или формат ответа неправильный");
      }
    })
    .catch(error => console.error("Ошибка при получении данных:", error));
})();
</script>

<!------------------------------------------------------------------------------------------------------------------------>

Отредактировано sant24 (Сб, 9 Ноя 2024 15:18:05)

+1

1408

sant24
Только я бы убрал строчку, которая уже не нужна, но создает лишний запрос на каждой странице )

Код:
<script src="/export.php?type=js&max=30" type="text/javascript"></script>

Ну и АДРЕС ВАШЕГО ФОРУМА/ можно заменить везде на просто / - для универсальности. Работать будет так же )
А также можно оптимизировать вот это:

Код:
var lastPageUrl = `АДРЕС ВАШЕГО ФОРУМА/viewtopic.php?id=${topicId}&p=${pageNum}`;
Код:
var lastPageUrl = `/viewtopic.php?pid=${lastPostId}#p${lastPostId}`;

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

0

1409

Alex_63 написал(а):

sant24
Только я бы убрал строчку, которая уже не нужна, но создает лишний запрос на каждой странице )

Код:
<script src="/export.php?type=js&max=30" type="text/javascript"></script>

Ну и АДРЕС ВАШЕГО ФОРУМА/ можно заменить везде на просто / - для универсальности. Работать будет так же )
А также можно оптимизировать вот это:

Код:
var lastPageUrl = `АДРЕС ВАШЕГО ФОРУМА/viewtopic.php?id=${topicId}&p=${pageNum}`;
Код:
var lastPageUrl = `/viewtopic.php?pid=${lastPostId}#p${lastPostId}`;

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

Отредактировал   :cool:

Спасибо !

Код:
<!------------------------------------------------------------------------------------------------------------------------>
<!-- Последние сообщения форума, новая версия © Alex_63 + API  -->
<style>
.container.stats { margin-bottom: -10px; }
.stats table {
  padding: 0 !important;
  margin-top: 1px;
  width: 100%;
  table-layout: auto; /* Автоматическая подстройка ширины столбцов */
  border-collapse: collapse; /* Объединяет границы ячеек */
}
.stats table th, .stats table td {
  padding: .30em .60em;
  border: 1px solid #ADD8E6; /* Стандартный цвет для всех границ */
  text-align: center; /* Центрируем текст */
}
.stats table td a.tcr:hover {
  text-decoration: underline;  /* Подчеркивание текста при наведении */
  color: #32CD32; /* Салатовый цвет при наведении */
}
</style>
<script type="text/javascript">
(function() {
  var numPosts = 9; // Количество выводимых сообщений (не более 20)
  var html = '';
  var html0 = '<div class="container stats"><span class="t-head">Последние сообщения форума</span><table cellspacing="0" class="container">\
                <thead><tr><th>Автор</th><th>Последнее сообщение в теме</th><th>Дата</th><th>Время написания поста</th></tr>\
                </thead><tbody class="hasicon">';

  // Получаем данные с API форума
  fetch('/api.php?method=topic.getRecent')
    .then(response => response.json())
    .then(data => {
      if (data.response && data.response.length > 0) {
        for (var i = 0; i < Math.min(data.response.length, numPosts); i++) {
          var post = data.response[i];
          var s0 = post.posted;  // Время сообщения
          var s1 = post.username;  // Автор
          var s2 = post.subject;  // Название темы
          var s3 = post.last_username;  // Автор последнего сообщения
          var topicId = post.id;  // Идентификатор темы
          var lastPostId = post.last_post_id;  // Идентификатор последнего сообщения
      
          // Преобразуем Unix timestamp в дату и время
          var ts = new Date(s0 * 1000);
          var datePart = ts.toISOString().slice(0, 10);
          var timePart = ts.toTimeString().slice(0, 8);

          // Формируем ссылку на последнюю страницу темы
          var lastPageUrl = `/viewtopic.php?pid=${lastPostId}#p${lastPostId}`;

          // Формируем строку для таблицы
          var row = `<tr> <td>${s3}</td><td class="tc2"><a href="${lastPageUrl}" target="_blank" class="tcr">${s2}</a></td><td class="tc2">${datePart}</td><td class="tc2">${timePart}</td></tr>`;

          // Добавляем строку в итоговый HTML
          html += row;
        }
        // Завершаем таблицу
        var finalHtml = html0 + html + '</tbody></table></div><br/><h2><span>Общая статистика</span></h2>';
        
        // Проверка наличия элемента с классом .statscon
        if ($('.statscon').length) {
          $('.statscon').prepend(finalHtml);
        } else {
          console.error('Элемент с классом .statscon не найден');
        }
      } else {
        console.error("Нет данных или формат ответа неправильный");
      }
    })
    .catch(error => console.error("Ошибка при получении данных:", error));
})();
</script>

<!------------------------------------------------------------------------------------------------------------------------>

Отредактировано sant24 (Сб, 9 Ноя 2024 15:29:00)

+3

1410

Приветствую, а есть ли скрипт, Последние 10 или 20 сообщений из ТЕМЫ?
Чего то не нашел поиском.
Нужно выводить текстовые сообщения именно из одной темы, в теме название фильма (именно его надо выводить) ну и скрины и ссылка (это не должно выводиться).

0

1411

ACT3255
Ну по идее можно, но таких скриптов ещё не было,
Можно выводить только те последние посты, где есть какой то признак, к примеру блок с классом: [block="out_movie"] [/block]

Отредактировано Deff (Сб, 9 Ноя 2024 18:53:08)

+1

1412

Deff
Стесняюсь спросить, как это реализовать?

0

1413

ACT3255 написал(а):

Стесняюсь спросить, как это реализовать?

Трепло... Проставь код в нужные посты(Или тебе нужны все подряд последние 10-20 ?)
2-е Заскриншоть страницу куда будешь выводить и воткни прямоугольник с десятком сообщений  - т.е как будет выглядеть вывод, и он на всех страницах? Или на главной только ?
Объявленние у тебя занято ? Может в объявление ?

Отредактировано Deff (Сб, 9 Ноя 2024 19:26:57)

0

1414

Deff
Я конечно может туплю, но я и правда немного недопонял.
Я имел введу скрипт, как "Вывод последних 10 сообщений форума"
Пример: создал пост -
"Джентельмены удачи"
Тут скрины
Тут ссылка на ролик.
Мне нужно, что бы по принципу скрипта  "Вывод последних 10 сообщений форума" на главной, отображались именно название фильма "Джентельмены удачи" более из этого поста ничего отображаться не должно и таких названий ссылок будет к примеру 10, по мере наполнения темы, названия-ссылки обновлялись. Ну как у том известном скрипте.
У меня ранее было что то подобное Запросы по скриптам[10] но там был вывод последних обновленных тем. А так как у меня посчитай 1 видео тема, вот надо из нее, выводить на главную именно названия поста то есть название ролика-фильма.
Воткнуть все это дело в объявление.

Отредактировано ACT3255 (Сб, 9 Ноя 2024 19:47:35)

0

1415

ACT3255 написал(а):

Deff
Я конечно может туплю, но я и правда немного недопонял.
Я имел введу скрипт, как "Вывод последних 10 сообщений форума"
Пример: создал пост -
"Джентельмены удачи"
Тут скрины
Тут ссылка на ролик.
Мне нужно, что бы по принципу скрипта  "Вывод последних 10 сообщений форума" на главной, отображались именно название фильма "Джентельмены удачи" более из этого поста ничего отображаться не должно и таких названий ссылок будет к примеру 10, по мере наполнения темы, названия-ссылки обновлялись. Ну как у том известном скрипте.
У меня ранее было что то подобное Запросы по скриптам[10] но там был вывод последних обновленных тем. А так как у меня посчитай 1 видео тема, вот надо из нее, выводить на главную именно названия поста то есть название ролика-фильма.
Воткнуть все это дело в объявление.

1-е Выводим только ссылку на пост и название, последние 10 сообщений с названиями фильмов из одной темы?, между постами в теме есть другие сообщения без названий ?
Если есть - оборачиваешь каждое название в теги  [block="out_movie"] [/block], чтобы выводить только их

Выводим табличку с фильмами ссылками только на главной или ?
Куда выводим ? Укажи прямоугольником на скриншоте

Отредактировано Deff (Сб, 9 Ноя 2024 21:48:09)

0

1416

Deff написал(а):

Выводим только ссылку на пост и название

https://i4.imageban.ru/thumbs/2024.11.09/4b42897bfdfb3d1812e28f2995ed2f72.jpg
Выводим только ссылку на пост и название, выделено желтым, текст должен автоматом браться из поста, текст в посту всегда идет первым.

Deff написал(а):

последние 10 сообщений с названиями фильмов из одной темы?

Да

Deff написал(а):

между постами в теме есть другие сообщения без названий ?

Нет

Deff написал(а):

Выводим табличку с фильмами ссылками только на главной или ?

Да

Deff написал(а):

Куда выводим ? Укажи прямоугольником на скриншоте

https://i6.imageban.ru/thumbs/2024.11.09/c311767560a810ee4b00bcab3fb724ea.jpg
в любое из трех мест
Под бегущей строкой или под виджетом "FeedGrabbr" или под "Плагин слайдер" пофиг где.

Отредактировано ACT3255 (Сб, 9 Ноя 2024 22:04:05)

0

1417

Заскриншоть пост с названием фильмов, ток вставь через загрузку тут в сообщение, ну и ссылку на тему видную гостю - где посмотреть вживую эту тему ну или ник пароль в личку

0

1418

Deff
https://forumupload.ru/uploads/0000/14/1c/32894/t55980.jpg
https://act3255.mybb.ru/viewtopic.php?i … 144#p45015

+1

1419

ACT3255
Т.е Название у тебя всегда в самом начале сообщения и жирным ?
Ну вроде боль мень понятно, постараюсь завтра наваять в течении суток(но это не точно, ибо ещё есть заказы)

Отредактировано Deff (Сб, 9 Ноя 2024 23:17:41)

+1

1420

sant24 написал(а):
Alex_63 написал(а):

sant24
Только я бы убрал строчку, которая уже не нужна, но создает лишний запрос на каждой странице )

Код:
<script src="/export.php?type=js&max=30" type="text/javascript"></script>

Ну и АДРЕС ВАШЕГО ФОРУМА/ можно заменить везде на просто / - для универсальности. Работать будет так же )
А также можно оптимизировать вот это:

Код:
var lastPageUrl = `АДРЕС ВАШЕГО ФОРУМА/viewtopic.php?id=${topicId}&p=${pageNum}`;
Код:
var lastPageUrl = `/viewtopic.php?pid=${lastPostId}#p${lastPostId}`;

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

Отредактировал   :cool:

Спасибо !

Код:
<!------------------------------------------------------------------------------------------------------------------------>
<!-- Последние сообщения форума, новая версия © Alex_63 + API  -->
<style>
.container.stats { margin-bottom: -10px; }
.stats table {
  padding: 0 !important;
  margin-top: 1px;
  width: 100%;
  table-layout: auto; /* Автоматическая подстройка ширины столбцов */
  border-collapse: collapse; /* Объединяет границы ячеек */
}
.stats table th, .stats table td {
  padding: .30em .60em;
  border: 1px solid #ADD8E6; /* Стандартный цвет для всех границ */
  text-align: center; /* Центрируем текст */
}
.stats table td a.tcr:hover {
  text-decoration: underline;  /* Подчеркивание текста при наведении */
  color: #32CD32; /* Салатовый цвет при наведении */
}
</style>
<script type="text/javascript">
(function() {
  var numPosts = 9; // Количество выводимых сообщений (не более 20)
  var html = '';
  var html0 = '<div class="container stats"><span class="t-head">Последние сообщения форума</span><table cellspacing="0" class="container">\
                <thead><tr><th>Автор</th><th>Последнее сообщение в теме</th><th>Дата</th><th>Время написания поста</th></tr>\
                </thead><tbody class="hasicon">';
 
  // Получаем данные с API форума
  fetch('/api.php?method=topic.getRecent')
    .then(response => response.json())
    .then(data => {
      if (data.response && data.response.length > 0) {
        for (var i = 0; i < Math.min(data.response.length, numPosts); i++) {
          var post = data.response[i];
          var s0 = post.posted;  // Время сообщения
          var s1 = post.username;  // Автор
          var s2 = post.subject;  // Название темы
          var s3 = post.last_username;  // Автор последнего сообщения
          var topicId = post.id;  // Идентификатор темы
          var lastPostId = post.last_post_id;  // Идентификатор последнего сообщения
      
          // Преобразуем Unix timestamp в дату и время
          var ts = new Date(s0 * 1000);
          var datePart = ts.toISOString().slice(0, 10);
          var timePart = ts.toTimeString().slice(0, 8);
 
          // Формируем ссылку на последнюю страницу темы
          var lastPageUrl = `/viewtopic.php?pid=${lastPostId}#p${lastPostId}`;
 
          // Формируем строку для таблицы
          var row = `<tr> <td>${s3}</td><td class="tc2"><a href="${lastPageUrl}" target="_blank" class="tcr">${s2}</a></td><td class="tc2">${datePart}</td><td class="tc2">${timePart}</td></tr>`;
 
          // Добавляем строку в итоговый HTML
          html += row;
        }
        // Завершаем таблицу
        var finalHtml = html0 + html + '</tbody></table></div><br/><h2><span>Общая статистика</span></h2>';
        
        // Проверка наличия элемента с классом .statscon
        if ($('.statscon').length) {
          $('.statscon').prepend(finalHtml);
        } else {
          console.error('Элемент с классом .statscon не найден');
        }
      } else {
        console.error("Нет данных или формат ответа неправильный");
      }
    })
    .catch(error => console.error("Ошибка при получении данных:", error));
})();
</script>
 
<!------------------------------------------------------------------------------------------------------------------------>

Исправил баги с датой и временем

Код:
<!------------------------------------------------------------------------------------------------------------------------>
<!-- Последние сообщения форума, новая версия © Alex_63 + API  -->
<style>
.container.stats { margin-bottom: -10px; }
.stats table {
  padding: 0 !important;
  margin-top: 1px;
  width: 100%;
  table-layout: auto; /* Автоматическая подстройка ширины столбцов */
  border-collapse: collapse; /* Объединяет границы ячеек */
}
.stats table th, .stats table td {
  padding: .30em .60em;
  border: 1px solid #ADD8E6; /* Стандартный цвет для всех границ */
  text-align: center; /* Центрируем текст */
}
.stats table td a.tcr:hover {
  text-decoration: underline;  /* Подчеркивание текста при наведении */
  color: #32CD32; /* Салатовый цвет при наведении */
}
</style>
<script type="text/javascript">
(function() {
  var numPosts = 9; // Количество выводимых сообщений (не более 20)
  var html = '';
  var html0 = '<div class="container stats"><table cellspacing="0" class="container">\
                <thead><tr><th>Автор</th><th>Последнее сообщение в теме</th><th>Дата</th><th>Время написания поста</th></tr>\
                </thead><tbody class="hasicon">';

  // Получаем данные с API форума
  fetch('/api.php?method=topic.getRecent')
    .then(response => response.json())
    .then(data => {
      if (data.response && data.response.length > 0) {
        for (var i = 0; i < Math.min(data.response.length, numPosts); i++) {
          var post = data.response[i];
          
          var s1 = post.username;  // Автор
          var s2 = post.subject;  // Название темы
          var s3 = post.last_username;  // Автор последнего сообщения
          var topicId = post.id;  // Идентификатор темы
          var lastPostId = post.last_post_id;  // Идентификатор последнего сообщения
          var DatetimePost = post.last_post_date; 

          var ts = new Date(DatetimePost * 1000);  // Преобразуем Unix timestamp в миллисекунды
          // Форматируем дату и время для отображения
          var datePart = ts.toLocaleDateString();
          
         // Отнимаем 2 часа   (часовой пояс)
          ts.setHours(ts.getHours() - 2);
         // Форматируем время    
         var timePart = ts.toLocaleTimeString();  // Локальное время с учетом изменения

          // Формируем ссылку на последнюю страницу темы
          var lastPageUrl = `/viewtopic.php?pid=${lastPostId}#p${lastPostId}`;

          // Формируем строку для таблицы
          var row = `<tr> <td>${s3}</td><td class="tc2"><a href="${lastPageUrl}" target="_blank" class="tcr">${s2}</a></td><td class="tc2">${datePart}</td><td class="tc2">${timePart}</td></tr>`;

          // Добавляем строку в итоговый HTML
          html += row;
        }
        // Завершаем таблицу
        var finalHtml = html0 + html + '</tbody></table></div><br/><h2><span>Общая статистика</span></h2>';
        
        // Проверка наличия элемента с классом .statscon
        if ($('.statscon').length) {
          $('.statscon').prepend(finalHtml);
        } else {
          console.error('Элемент с классом .statscon не найден');
        }
      } else {
        console.error("Нет данных или формат ответа неправильный");
      }
    })
    .catch(error => console.error("Ошибка при получении данных:", error));
})();
</script>

<!------------------------------------------------------------------------------------------------------------------------>

+3


Вы здесь » Единый форум поддержки » Форум для новичков » Общие вопросы от новичков (63) #2