Lem
С нами с 09 октября 2018; Место в рейтинге пользователей: #1076Вывод картинки в OpenGraph с использованием MIGX
Добрых уток времени всем. Пытаюсь настроить красивый вид ссылок на сайт в мессенджарах.
Возникла проблема с передачей картинки. У меня на сайте есть несколько типов страниц. На одном из них использую MIGX для создания tv-поля с картинкой новости. На всех остальных этого tv-поля нет вообще.
В head прописал такой код:
Вопрос: как добавить проверку на отсутсвие tv-шки с картинкой и указанием дефолтной картинки в этом случае?
Пробовал в темплейте `openGraph_Img` указать проверку
Возникла проблема с передачей картинки. У меня на сайте есть несколько типов страниц. На одном из них использую MIGX для создания tv-поля с картинкой новости. На всех остальных этого tv-поля нет вообще.
В head прописал такой код:
<meta property="og:image" content="[[++site_url]][[getImageList?
&tvname=`image`
&tpl=`openGraph_Img`
&limit=`1`
&docid=`[[*id]]`
]]">
В темплейте `openGraph_Img` лежит просто [[+image]]
Такая конструкция работает на страницах, у которых есть tv-шка с картинкой статьи.Вопрос: как добавить проверку на отсутсвие tv-шки с картинкой и указанием дефолтной картинки в этом случае?
Пробовал в темплейте `openGraph_Img` указать проверку
[[+image:isnot=``:then=`[[+image]]`:else=`images/defaultPic.jpg`]]
но так не работает (если я правильно понимаю это потому что на других страницах такого TV просто нет, соответственно проверка не начинается). Автоматическое увеличение числа (стаж работы) в определенный день каждый год.
Доброго времени суток.
На сайте есть раздел с преподавательским составом. В информации про преподавателя есть пункт «стаж», записанный таким образом:
Пока что дошел до такого:
• Создал новый сниппет, в котором, определяю текущую дату и сравниваю её с нужной датой. Затем увеличиваю число стажа, если дата подходит (так же в нём записана функция, которая в зависимости от числа подставляет слово «год» в правильно склонении – 1 год; 12 лет и т.д.):
Можно ли это дело сделать так что бы срабатывало на стороне сервера в определенный день и даже, если пользователь зайдет месяц (условно) спустя, то увидит уже новый стаж? Желательно без использования БД…
На сайте есть раздел с преподавательским составом. В информации про преподавателя есть пункт «стаж», записанный таким образом:
<p>пед. стаж: <span style="font-family:georgia,serif;"><em><strong>12 років</strong></em></span></p>
Каждый год, как вы понимаете, стаж увеличивается. Подскажите как бы правильно это дело автоматизировать.Пока что дошел до такого:
• Создал новый сниппет, в котором, определяю текущую дату и сравниваю её с нужной датой. Затем увеличиваю число стажа, если дата подходит (так же в нём записана функция, которая в зависимости от числа подставляет слово «год» в правильно склонении – 1 год; 12 лет и т.д.):
<?php
$oldStazh; //текущий стаж, записанный вручную
$todayYear = date('Y');
$mustBeDate = '01.06';
$todayDate = date('d.m'); //день, когда стаж должен увеличиться
$stazh = $oldStazh + $todayYear - 2020; //новый стаж
if ($mustBeDate == $todayDate) $stazh++; //увеличиваем стаж, если сегодня 01.06
//функция для того что бы правильное окончание выдавало в слове "год"
if (!function_exists('format_by_count')) {
function format_by_count($stazh)
{
if($stazh % 10 == 1 && $stazh % 100 != 11)
return 'рік';
if($stazh % 10 >= 2 && $stazh % 10 <= 4 && ($stazh % 100 < 10 || $stazh % 100 > 20))
return 'роки';
return 'років';
}
}
return $stazh . ' ' . format_by_count($stazh);
• На странице где нужно выводить информацию о стаже вызываю созданный сниппет и передаю туда значение стажа на текущий год:<p>пед. стаж: <span style="font-family:georgia,serif;"><em><strong>[[!pedStazh? &oldStazh=`25`]]</strong></em></span></p>
Поигрался на локальной копии меняя время в системе. Ставлю точную дату 01.06.2020 – стаж увеличивается. Ставлю 01.06.2021 – стаж увеличивается ещё на 1. Но если поставить дату 01.07.2020 стаж возвращается к значению $oldStazh. И если я правильно понимаю, то изменение срабатывает только для того пользователя, который зашел на страницу.Можно ли это дело сделать так что бы срабатывало на стороне сервера в определенный день и даже, если пользователь зайдет месяц (условно) спустя, то увидит уже новый стаж? Желательно без использования БД…