Редактор темы

Реклама
Реклама

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

byroot и другие ребята

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

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

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


 
Последнее редактирование:
byroot и другие ребята

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

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

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

Ну к примеру так, код от 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'].
 
Предлагаю такое решение, если у вас длительность начинается с цифр минут:
добавить в 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
 

Похожие темы Последние темы Популярные темы

Назад
Сверху