• Страница 1 из 1
  • 1
Модератор форума: -SAM-  
Как на uCoz вывести дату в формате ISO 8601
Kosten
Четверг, 18 Июня 2020, 23:07 | Сообщение 1
Оффлайн
Администраторы
Сообщений:44427
Награды: 70
Если проверять по ссылке материал на сайте, то показывает без ошибок, то только стоит скопировать полностью код, как вид материалов и комментариев, так выдает ошибку валидаторе микроразметки на Яндексе. Уже как только не пробовал по вариантам вывести, даже с разметки убирал дату, но все же показывает ошибку. Как только по ссылке просматривает, то все выводит как нужно, без ошибке, а вот по коду что то мудрит.



С разметки на эту дату реагирует.

"datePublished": "$ADD_DATE$", - вид материала и комментариев.
Прикрепления: 4951063.png (31.9 Kb)
Страна: (RU)
Kosten
Пятница, 19 Июня 2020, 17:14 | Сообщение 2
Оффлайн
Администраторы
Сообщений:44427
Награды: 70
На uCoz вопроснике задал этот вопрос и получил развернутый ответ.

Вопрос: Почему по ссылку код корректно показывает, а если код проверять то выдает ошибку даты.

[info]Ответ:

У вас с датой все хорошо http://joxi.ru/4Akg37JcX4aMGA Я так понимаю вопрос уже не актуальный?

Далее следует вопрос:

Уточню, это хорошо по ссылке, как ранее подчеркнул, чтоб не было сбоев. Здесь сделан акцент на полный код, который выдает ошибку, что на скрине выше. Или как понимаю если проверять полный код, то всегда будет выдавать эту ошибку, что прописана в разметке. Вот этот момент хотел заострить и получить ответ, то в сети не мог его найти.

Ответ:

Нужно проверять не код, а ссылку, по коду и будет выдавать ошибку так как валидатор не понимает и не исполняет операторы Юкоз.

Завершение:

Благодарю, этот момент хотел узнать и закрепить![/info]
Страна: (RU)
-SAM-
Пятница, 19 Июня 2020, 18:29 | Сообщение 3
Оффлайн
Друзья сайта
Сообщений:892
Награды: 40
Правильно написали они. Но всё равно еще есть момент неприятный, что когда в ПУ активирована привязка на дату добавления материала как Сегодня\Вчера, то будет выдавать ошибку эти два дня.

Допустим, у материала Дата добавления: 28.11.2012, 10:44 --> а правильно вывод делать так нужно: 2012-11-28T10:44 (но переменные отдают данные в ином формате). Тогда придётся делать подрезку, чтобы в нужный вид привести:
Код
<?if!($ADD_DATE$="Сегодня" || $ADD_DATE$="Вчера")?>
<meta content="<?(substr($ADD_DATE$,6))?>-<?(substr($ADD_DATE$,3,strpos(substr($ADD_DATE$,3),'.')))?>-<?(substr($ADD_DATE$,0,strpos(substr($ADD_DATE$,3),'.')))?>T$ADD_TIME$" itemprop="datePublished" /><?endif?><?if($LASTMOD$)?><?if!($MOD_DATE$="Сегодня" || $MOD_DATE$="Вчера")?>
<meta content="<?(substr($MOD_DATE$,6))?>-<?(substr($MOD_DATE$,3,strpos(substr($MOD_DATE$,3),'.')))?>-<?(substr($MOD_DATE$,0,strpos(substr($MOD_DATE$,3),'.')))?>T$MOD_TIME$" itemprop="dateModified" /><?endif?><?endif?>
В зависимости от выбранного формата даты в ПУ, то подрезка своя.




Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно.
Бесплатное оказание помощи в ответах на "Вопросы про uCoz".


Сообщение отредактировал
-SAM- - Понедельник, 22 Июня 2020, 08:40
Страна: (UA)
Kosten
Пятница, 19 Июня 2020, 18:38 | Сообщение 4
Оффлайн
Администраторы
Сообщений:44427
Награды: 70
Цитата -SAM- ()
Сегодня\Вчера, то будет выдавать ошибку эти два дня.

Это все редактируется в общих настройках.. как пример вчера залил новый материал.

Прикрепления: 9698161.png (11.7 Kb)
Страна: (RU)
-SAM-
Пятница, 19 Июня 2020, 21:20 | Сообщение 5
Оффлайн
Друзья сайта
Сообщений:892
Награды: 40
Привязку убирать не говорил, если что (поскольку после летит другой функционал, который через эту привязку в условиях идёт).

Проблема такая:


Код
"datePublished": "Сегодня",
"dateModified": "Сегодня",
А нам нужно 2020-06-16 - в таком виде.

В общем, чтобы в эти два дня правильно было, то можно иным путём пойти - можно дату текущую вывести:
Код
<meta content="<?if!($ADD_DATE$="Сегодня" || $ADD_DATE$="Вчера")?>$ADD_DATE$<?else?>$DATE$<?endif?>" itemprop="datePublished" /><?if($LASTMOD$)?>
<meta content="<?if!($MOD_DATE$="Сегодня" || $MOD_DATE$="Вчера")?>$MOD_DATE$<?else?>$DATE$<?endif?>" itemprop="dateModified" /><?endif?>

На ZorNet уже в ПУ формат такой, чтобы было правильно (у кого другой, то нужна подрезка, как выше написал). Или вместо $DATE$ в нужный вид привести так: $YEAR$-$MONTH$-$DAY$.
Прикрепления: 1205926.png (13.1 Kb)




Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно.
Бесплатное оказание помощи в ответах на "Вопросы про uCoz".


Сообщение отредактировал
-SAM- - Пятница, 19 Июня 2020, 21:55
Страна: (UA)
Kosten
Пятница, 19 Июня 2020, 21:43 | Сообщение 6
Оффлайн
Администраторы
Сообщений:44427
Награды: 70
Цитата -SAM- ()
$DATE$
Этого оператора нет.. его еще вчера заменил на ADD_DATE.

---Я выше всё расписал. Это оператор текущей даты, чтобы ошибки не было в тех материалах, что идёт как Сегодня\Вчера, то его вывели в JSON-LD там.--- © -SAM-


Сообщение отредактировал
-SAM- - Пятница, 19 Июня 2020, 21:50
Страна: (RU)
Kosten
Пятница, 19 Июня 2020, 21:53 | Сообщение 7
Оффлайн
Администраторы
Сообщений:44427
Награды: 70
Проверил на гугл и яндекс - все корректно выводит.

---Вот, чего и добивался - чтобы в тех материалах ушла ошибка.--- © -SAM-


Сообщение отредактировал
-SAM- - Пятница, 19 Июня 2020, 22:12
Страна: (RU)
Kosten
Пятница, 19 Июня 2020, 21:56 | Сообщение 8
Оффлайн
Администраторы
Сообщений:44427
Награды: 70
Если рассматривать по коду, то здесь даже не полную страницу кодом выводит.




---Почитайте, чего вам уже сказали с самого начала на uВопросах - не код шаблона проверять нужно (переменные), а отдаваемые данные на странице.--- © -SAM-
Прикрепления: 0097693.png (53.3 Kb)


Сообщение отредактировал
-SAM- - Пятница, 19 Июня 2020, 22:01
Страна: (RU)
Kosten
Пятница, 19 Июня 2020, 22:04 | Сообщение 9
Оффлайн
Администраторы
Сообщений:44427
Награды: 70
Цитата Kosten ()
---Почитайте, чего вам уже сказали с самого начала на uВопросах - не код шаблона проверять нужно (переменные), а отдаваемые данные на странице.--- © -SAM-

-SAM-, я в курсе, просто констатирую для пользователей, что так будет. Смотрю на себя, что как делать если находишь нужную информацию, а оказывается она не полная, так что здесь простая констатация идет.

---Так по факту - не вы, не пользователи вообще не должны проверять код, в которым идут переменные системы, условные операторы (кто проверяет такой - всегда ошибки будут, самые разные).--- © -SAM--


Сообщение отредактировал
-SAM- - Пятница, 19 Июня 2020, 22:11
Страна: (RU)
OnWar
Суббота, 06 Января 2024, 16:24 | Сообщение 10
Оффлайн
Администраторы
Сообщений:10
Награды: 0
Вопрос с выводом даты снова акутальный :)

Как найти баланс, между тем, чтобы и обычному человеку было понятно и поисковики (shema разметка) корректно определяли дату?

Для человека куда понятней и привычней вариант, который сейчас: 6 января 2024
Ранее был создан вариант больше для поисковиков: 2024-01-06 - это же не нагляглядно совсем.

Есть ли какое-то решение? Всетаки прошло 4 года с создания данного топика.
Страна: (RU)
-SAM-
Суббота, 06 Января 2024, 16:30 | Сообщение 11
Оффлайн
Друзья сайта
Сообщений:892
Награды: 40
OnWar, до этого ОБЫЧНОМУ человеку было более чем понятно, а поисковик в данном случае важней (ведь, если не будет правильно в поисковиках, то люди могут на сайт вообще не выйти).

А так, решение есть (выше пример давал как оно делается). Сейчас уже не стану писать полностью здесь для такого формата (каждому месяцу присваивать номер, что пишется условный оператор; 12 месяцев = 12 условных операторов).

Дата добавления $ADD_DATE$:
06 Января 2024 --> 2024-01-06
-------
<?substr($ADD_DATE$,-4)?> - год;
<?substr($ADD_DATE$,0,2)?> - дата;
<?if(strpos($ADD_DATE$,'Янв')>0)?>01<?endif?> - это месяц.
И так для каждого:
<?if(strpos($ADD_DATE$,'Фев')>0)?>02<?endif?>
[ ... ]
-------

То же самое, если выбрать дату в нужном формате для поисковиков сперва, что если вывод формата даты в другом месте как-то иначе хочется сделать (к примеру, в комментариях, в сообщениях форума) - это опять геморрой с условными операторами. К сожалению, на uCoz иначе никак, если нет отдельно переменных. Вот тогда мы и сделали так, как было сделано для ПС.

P.S.: и я уже не помню какой там исходник давался Kosten'у, что сейчас поставлена разметка (то есть вам придётся мне её давать, как там прописано в json-ld смотреть; есть там еще нюансы с выводом Сегодня\Вчера). Не зря же я написал, что формат даты был такой не случайно и не нужно было менять.

UPD.: переписал код для сайта ZorNet, тем самым привёл дату в нужный формат:




Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно.
Бесплатное оказание помощи в ответах на "Вопросы про uCoz".


Сообщение отредактировал
-SAM- - Среда, 07 Февраля 2024, 07:35
Страна: (UA)
  • Страница 1 из 1
  • 1
Поиск: