Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

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

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

Discussion in 'Хаки DLE' started by DLEPlugins, Sep 8, 2016.

08.09.16 в 16:49
07.01.24 в 21:13
42
10,392
2
  1. MegaMonstr

    MegaMonstr Staff Member VIP Кинотрафик v2

    Messages:
    1,085
    Likes Received:
    254
    Best Answers:
    0
    byroot и другие ребята

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

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

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


     
    Last edited: Sep 6, 2021
  2. igrovik

    igrovik Местный

    Messages:
    1,007
    Likes Received:
    292
    Best Answers:
    8
    Ну к примеру так, код от punpun на пред странице
    Code:
    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';
    }
    Если нет в поле слова час а только всегда минут то
    Code:
    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

    TOPSALE PRO Users

    Messages:
    83
    Likes Received:
    4
    Best Answers:
    0
    Предлагаю такое решение, если у вас длительность начинается с цифр минут:
    добавить в engine/modules/show.full.php:

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


    Code:
    $xfieldsdata = xfieldsdataload( $row['xfields'] );
    $seotime = mb_ereg_replace('^([^\s]*).*$', '\\1', trim($xfieldsdata['time']));
    $tpl->set('{seotime}', $seotime * 60);
    Ну и в шаблоне прописать: PT{seotime}S
     
    • Полезно Полезно x 1