Модуль MicrodataPro (микроразметка json-ld/microdata) v.10 NULL

  • Автор темы Автор темы dell2201
  • Дата начала Дата начала
воу, долго у разраба обнов не было)
 
Установил на окСтор 2.3, модификации в контроллеры пишет, но вот на страницы ничего не выводит.
В админке все четко, диагностику проходит и т.д. Ошибок в логах нет.
Откатил обратно на версию 8.1.

Кто-то пробовал ставить?
 
Установил на окСтор 2.3, модификации в контроллеры пишет, но вот на страницы ничего не выводит.
В админке все четко, диагностику проходит и т.д. Ошибок в логах нет.
Откатил обратно на версию 8.1.

Кто-то пробовал ставить
Не доломал, отпишусь
 
MicrodataPro - v 10
Ошибка "Отсутствует поле "price" (в offers.priceSpecification)" для товаров без акций
catalog\controller\extension\module\microdatapro.php
строка 348
if(isset($mdp['price_old'])){ заменить на if (!empty($mdp['price_old'] ?? '')) {
 
Еще есть проблема между: <!--MDP v10 Product start--> и <!--MDP v10 Product end-->
в "description": "" не обрезается текст, он там во всю длину. В итоге имеем ошибку "Данные о товарах продавца > Недопустимая длина значения в поле "description""

catalog\controller\extension\module\microdatapro.php
строка 1579
Это
$mdp['description'] = $this->clearDiv($mdp['description']);

заменить на это

$mdp['description'] = $this->clearDiv($mdp['description']);

if(mb_strlen($mdp['description']) > 290){
$mdp['description'] = mb_substr($mdp['description'], 0, 290);

$mdp['description'] = mb_substr($mdp['description'], 0, mb_strrpos($mdp['description'], ' '));
}
 
Еще есть проблема между:
<!--MDP v10 Product start--> и <!--MDP v10 Product end-->
в "description": "" не подтягивается текст с поля "Мета-тег Description" вместо него подтягивается текст с поля полного "Description"

Насколько я понимаю логика должна быть такой: проверяется поле "Мета-тег Description" если оно пустое тогда вместо него подтягивается поле полного "Description"
Тут же почему-то проверяется только поле полного "Description" если оно пустое тогда вместо него подтягивается поле 'title'
catalog\controller\extension\module\microdatapro.php
строка 1547

Это

if(!isset($data['description'])){
$data['description'] = '';
}
$mdp['description'] = trim($this->clearText($data['description']));
if(!$mdp['description']){
$mdp['description'] = $this->clearText($this->document->getDescription()?$this->document->getDescription():$mdp['title']);
}

заменить на это

if(!isset($data['meta_description'])){
$data['meta_description'] = '';
}
$mdp['description'] = trim($this->clearText($data['meta_description']));
if(!$mdp['description']){
$mdp['description'] = trim($this->clearText($this->document->getDescription()?$this->document->getDescription():$data['description']));
}
 
Еще есть проблема с переключением "скрыть цену", тоже ошибка появляется если включить. Надо будет смотреть, когда-то поправлял такое на старих релизах, автор почему-то не фиксит.
 
Собрал все ошибки, что видел у себя в журнале, плюс те соображения - что выше от @Alex532 , выкладываю правленный контроллер.
Тестировал на окСтор2.3 - ошибок за сутки не выдал, валидацию проходит.

Скрытое содержимое. Вам нужно войти или зарегистрироваться.
 
Последнее редактирование:
Назад
Верх