InstantCMS 2.X
можно ли в seo-паттернах видоизменять значения полей?
Использую SEO-паттерны для формирования микроразметки. Как я понял в паттерне можно использовать некоторые функции. Есть значение из времени, к примеру, 5:21. Можно ли его прямо в SEO-паттерне видоизменить до PT5M21S?
#2
12 марта 2019 в 09:42
Видимо, никто не использует этот функционал
Странный вывод. Причин, почему не ответили, может быть много.
По теме: видоизменять вроде бы нельзя. Не знаю, как в 2.11, я до сих пор не обновился, но в 2.10.1 точно нельзя. Поэтому использую для этих целей специальное дополнение, где можно менять всё, что угодно.
По теме: видоизменять вроде бы нельзя. Не знаю, как в 2.11, я до сих пор не обновился, но в 2.10.1 точно нельзя. Поэтому использую для этих целей специальное дополнение, где можно менять всё, что угодно.
Сегодня в 07:04
Но если можно использовать функции типа string_date_age, почему нельзя использовать что-то наподобие substr, или str_replace, или preg_replace. Я просто не программист и не знаю синтаксиса.
Поделитесь, что за дополнение вы используете?
Поделитесь, что за дополнение вы используете?
#5
12 марта 2019 в 11:42
что за дополнение вы используете?
#6
12 марта 2019 в 11:51
De.Ground, если вы об InstantVideo, то там есть функция для этого. time_to_iso8601_duration
Использовать функции в SEO паттернах можно docs.instantcms.ru/manual/settings/seo-patterns
И сам код функции, если надо
Использовать функции в SEO паттернах можно docs.instantcms.ru/manual/settings/seo-patterns
И сам код функции, если надо
function time_to_iso8601_duration($time) { $str = 'P'; $istime = false; foreach ($units as $unitName => &$unit) { $time -= $quot * $unit; $unit = $quot; if ($unit > 0) { $str .= 'T'; $istime = true; } } } return $str; }
Fuze, нет я об обычных типах контента. Наверное, я сумбурно объяснил.
У меня много однотипного аудио-контента. Есть набор полей для этого типа контента. Например, длительность в формате минуты-двоеточие-секунды (5:22). Есть поле, в котором я отображаю микроразметку. Если я буду вставлять в микроразметку просто {length}, то всё отображается, но не в требуемом для микроразметки формате. Я ознакомился с документацией, но не понимаю, как используются функции.
Поэтому интересуюсь, можно ли в самом паттерне с помощью функции видоизменить 5:22 на PT5M22S.
Если нет, тогда какие функции в принципе можно использовать в паттернах? (кроме той, что приведена в примере документации)
Или эти функции нужно создавать внутри самого движка, а потом уже использовать в паттернах?
У меня много однотипного аудио-контента. Есть набор полей для этого типа контента. Например, длительность в формате минуты-двоеточие-секунды (5:22). Есть поле, в котором я отображаю микроразметку. Если я буду вставлять в микроразметку просто {length}, то всё отображается, но не в требуемом для микроразметки формате. Я ознакомился с документацией, но не понимаю, как используются функции.
Поэтому интересуюсь, можно ли в самом паттерне с помощью функции видоизменить 5:22 на PT5M22S.
Если нет, тогда какие функции в принципе можно использовать в паттернах? (кроме той, что приведена в примере документации)
Или эти функции нужно создавать внутри самого движка, а потом уже использовать в паттернах?
/** * Конвертирует длительность в формате hh:mm:ss в секунды * @param string $duration Длительность * @return integer */ function duration_to_time($duration) { } else { } }
То, что я дал выше, конвертирует секунды в нужный вам формат.
Любые доступные. Хоть стандартные PHP, хоть функции движка.тогда какие функции в принципе можно использовать в паттернах?
#9
12 марта 2019 в 12:15
Fuze, большое спасибо за объяснение и помощь
Буду разбираться
Буду разбираться
#10
26 апреля 2019 в 01:31
Любые доступные. Хоть стандартные PHP, хоть функции движка.
А можно ли использовать функцию стороннего компонента?
Например, у меня есть функция, которая получает из названия поддомена penza строку «в Пензе» и я хочу эту фразу вставить в заголовки только некоторых записей