Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Переводим час:мин:сек в секунды и в iso 8601 формат времени для микроразметки фильмов

Тема в разделе "Хаки DLE", создана пользователем DLEPlugins, 8 сен 2016.

08.09.16 в 16:49
07.01.24 в 21:13
42
6.925
2
  1. MegaMonstr

    Команда форума VIP Кинотрафик v2

    Регистрация:
    27 сен 2015
    Сообщения:
    1.078
    Лучших ответов:
    0
    Рейтинги:
    +317 / 12 / -0
    byroot и другие ребята

    Подскажите, как вывести здесь $social_tags['video:duration'] = $xfieldsdata['time_alt'];

    Что бы 92 мин. превратились в <meta name="video:duration" content="PT7020S" />

    Вижу выше в коде можно использовать {seotime}, но как это прописать в код не пойму. Я так понимаю, это для использования в шаблоне.


     
    #41 MegaMonstr, 6 сен 2021
    Последнее редактирование: 6 сен 2021
  2. igrovik

    igrovik Местный

    Регистрация:
    11 дек 2016
    Сообщения:
    1.007
    Лучших ответов:
    8
    Рейтинги:
    +354 / 12 / -0
    Ну к примеру так, код от punpun на пред странице
    Код:
    if (strpos($xfieldsdata['ДОП_ПОЛЕ'], 'час') !== FALSE) {
        $time = explode(' ', $xfieldsdata['ДОП_ПОЛЕ']);
        $seconds = intval($time[0]) * 3600;
        $minute = (intval($time[0]) * 60) + intval($time[2]);
    } elseif (strpos($xfieldsdata['ДОП_ПОЛЕ'], 'минут') !== FALSE) {
        $time = explode(' ', $xfieldsdata['ДОП_ПОЛЕ']);
        $seconds = intval($time[1]) * 60;
        $minute = intval($time[1]);
    }
    if ($seconds) {
       $social_tags['video:duration'] = 'PT' . $seconds . 'S';
    }
    Если нет в поле слова час а только всегда минут то
    Код:
    if (strpos($xfieldsdata['ДОП_ПОЛЕ'], 'минут') !== FALSE) {
        $time = explode(' ', $xfieldsdata['ДОП_ПОЛЕ']);
        $seconds = intval($time[1]) * 60;
        $minute = intval($time[1]);
    }
    if ($seconds) {
       $social_tags['video:duration'] = 'PT' . $seconds . 'S';
    }
    $xfieldsdata['ДОП_ПОЛЕ'] изменяете на свое по логике понимаю на это $xfieldsdata['time_alt'].
     
    • Нравится Нравится x 1
    • Полезно Полезно x 1
  3. TOPSALE

    PRO Users

    Регистрация:
    12 фев 2017
    Сообщения:
    83
    Лучших ответов:
    0
    Рейтинги:
    +6 / 3 / -0
    Предлагаю такое решение, если у вас длительность начинается с цифр минут:
    добавить в engine/modules/show.full.php:

    Найти $social_tags['url'] = $full_link; сверху добавить:


    Код:
    $xfieldsdata = xfieldsdataload( $row['xfields'] );
    $seotime = mb_ereg_replace('^([^\s]*).*$', '\\1', trim($xfieldsdata['time']));
    $tpl->set('{seotime}', $seotime * 60);
    Ну и в шаблоне прописать: PT{seotime}S
     
    • Полезно Полезно x 1
Похожие темы
  1. vasili
    Ответов:
    13
    Просмотров:
    2.054
  2. Winston?!
    Ответов:
    11
    Просмотров:
    946
  3. soccerforecast
    Ответов:
    12
    Просмотров:
    1.245
  4. Roman.U
    Ответов:
    11
    Просмотров:
    521
Загрузка...
Яндекс.Метрика