Skip to content

Ошибка. Missing required field "updated"

Валидатор микроформатов ругается на два пропущенных сущности в разметке hatom-entry (hatom-feed):

 

Ошибка. Missing required field "updated".
Ошибка. Missing required field "entry-title".

"updated" в принципе лечится легко добавив его на тот же элемент где published.

Внешний вид -> %шаблон% -> Темы -> post (в 3.1x - Темы -> topicViewTemplate)

Найти

published

Заменить на

published updated

 

А на чтобы повесть entry-title?... Есть идея добавить его к автору сообщения.

Featured Replies

  • Author

Раз гуру верстки молчат, решил пока так.

 

В том же шаблоне Темы -> post находим:

author vcard

Заменяем на:

author vcard entry-title

 

Ниже мы добавляем ответил: чтобы сделать более объемным название сущности entry-title - "%username ответил:". Вы можете его не добавлять, тогда entry-title будет равен только имени автора поста.

 

Для 3.2x-3.4x находим

{parse template="userHoverCard" group="global" params="$post['author']"}</span>

Заменяем на

{parse template="userHoverCard" group="global" params="$post['author']"}<span style="display:none;"> ответил:</span></span>

И для гостей, найти:

				<else />
				{parse template="userHoverCard" group="global" params="$post['author']"}

Заменить на

				<else />
				<span class="entry-title">{parse template="userHoverCard" group="global" params="$post['author']"}<span style="display:none;"> ответил:</span></span>


Для 3.1x находим

<a class="url fn" href='{parse url="showuser={$post['author']['member_id']}" base="public" template="showuser" seotitle="{$post['author']['members_seo_name']}"}'>{$post['author']['members_display_name']}</a>

Заменяем на

<a class="url fn" href='{parse url="showuser={$post['author']['member_id']}" base="public" template="showuser" seotitle="{$post['author']['members_seo_name']}"}'>{$post['author']['members_display_name']}</a><span style="display:none;"> ответил:</span>

Для гостей, находим

						<else />
						{$post['author']['members_display_name']}

Заменяем на

						<else />
						<span class="entry-title">{$post['author']['members_display_name']}<span style="display:none;"> ответил:</span></span>

  • 2 months later...

Ещё ругается на отсутствие "author".

 

просто

<span class="author vcard">имя-ник</span>

видимо недостаточно, надо что-то вроде

<span class="author vcard"><span class="nickname">имя-ник</span></span>
или
<span class="author vcard"><span class="fn">имя-ник</span></span>

http://microformats.org/wiki/hcard

 

Поэтому строка будет выглядеть так:

<span itemprop="creator name" class="author vcard"><span class="nickname">{parse template="userHoverCard" group="global" params="$post['author']"}</span></span>

А с учётом entry-title, что в сообщении выше:

<span itemprop="creator name" class="author vcard entry-title"><span class="nickname">{parse template="userHoverCard" group="global" params="$post['author']"}</span><span style="display:none;"> ответил:</span></span>

 

Только вот не уверен, как более правильно: fn или nickname.

  • Author

Ещё ругается на отсутствие "author".

Это наверное при запрете просмотра профилей, когда не генерируется ссылка на профиль.

fn является обязательным.

 

Поэтому строка будет выглядеть так:

Здесь лучше сразу править шаблон userHoverCard.

Да, в userHoverCard уже стоит fn

  • Author

Да, в userHoverCard уже стоит fn

Для ссылке на профиль. Скорее всего в шаблоне есть вторая часть условия, где вместо ссылки выводится только имя автора, вот там fn видимо отсутствует.

Для ссылке на профиль. Скорее всего в шаблоне есть вторая часть условия, где вместо ссылки выводится только имя автора, вот там fn видимо отсутствует.

Так и есть. Дописал туда <span class="fn">. Спасибо.

 

<if test="canSeeProfiles:|:$member['member_id'] && ( $this->memberData['g_is_supmod'] || ($this->memberData['g_mem_info'] && ! IPSMember::isInactive($member) ) ) && !$this->request['forcePrint']">
...
<else />
<span class="fn">{$member['members_display_name']}</span>
</if>

  • 1 year later...

У меня еще такая ошибка в валидаторе Яндекса.

article
ПРЕДУПРЕЖДЕНИЕ: Не выполнено обязательное условие для структурированных сниппетов творческих работ: поле description или articleBody отсутствует или пусто
ПРЕДУПРЕЖДЕНИЕ: значение "10 Окт 2013 12:25" в поле dateCreated не является корректными значением даты. Дата должна быть в формате ISO 8601
ПРЕДУПРЕЖДЕНИЕ: поле interactionCount не определено в спецификации http://schema.org/Article
itemType = http://schema.org/Article
aggregaterating
aggregaterating
itemType = http://schema.org/AggregateRating
ratingcount = 1
ratingvalue = 5
creator = Salex
datecreated = 10 Окт 2013 12:25
interactioncount = UserComments:11

 

Ни у кого такого нет? Как лечить?

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.