Исправить market.php чтобы он не давал тэг rec в яндекс

и снова здравствуйте!
вот такая ошибка не ошибка, тем не менее…
на одном из магазинов яндекс ругается на товарный фид вот так

Тег “rec” не может использоваться в фиде по адресу “yml_catalog/shop/offers/offer/”

вроде бы не критично, и не мешает, но все равно ошибку пишет…
погуглил- этот тэг для кросс-продаж, яндекс его не использует…

в коде это выглядит так
2762 то есть видимо пытается воткнуть еще такой товар в кросс-продажу…

отсюда вопрос- как изменить код market.php чтобы эта ересь не выводилась

Заранее спасибо!

в коде есть такой кусок

if ($products[‘products_ean’] != ‘’) vam_yml_out(‘’ . $products[‘products_ean’] . ‘’);
if(!empty($also_purchased)){
vam_yml_out(‘’.implode(“,”,array_unique($also_purchased)).‘’ . “\n”);
}

тут собственно вопрос- что удалять- ибо в коде не силен…

вырезал

if(!empty($also_purchased)){
vam_yml_out(‘’.implode(“,”,array_unique($also_purchased)).‘’ . “\n”);
}

вроде работает- rec не выводится

1 лайк

Добрый, лучше удалить и код формирования сопутствующих, чтоб не тратить время на него при генерации.

		$also_purchased = array();

		$orders_query = "SELECT
                    px.products_id,
                    px.xsell_id,
					p.products_model
                FROM products_xsell px, 
					products p
                WHERE
                px.xsell_id = p.products_id and 
                px.products_id = ".$products['products_id']."";
																								                                            
		$orders_query = vamDBquery($orders_query);
		while ($orders = vam_db_fetch_array($orders_query, true)) {

			$also_purchased[] = $orders['xsell_id'];

		}

  if ($products['products_ean'] != '') vam_yml_out('<barcode>' . $products['products_ean'] . '</barcode>');
  if(!empty($also_purchased)){
      vam_yml_out('<rec>'.implode(",",array_unique($also_purchased)).'</rec>' . "\n");
  }
2 лайка

Только заметил, что мой фид из-за этой ошибки давным-давно не показывается в товарной галерее (

У меня еще есть какой-то кусок кода внутри этой конструкции-
после $also_purchased = array();
и до $orders_query = "SELECT

идет код

if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
			$fsk_lock = ' and p.products_fsk18!=1';
		}
		$group_check = "";
		if (GROUP_CHECK == 'true') {
			$group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
		}

Также можно удалить? Ни на что не повлияет?

Да, в новой версии будет новый гибкий экспорт в яндекс товары.

не удаляйте

1 лайк

Спасибо
И после vam_yml_out('<rec>'.implode(",",array_unique($also_purchased)).'</rec>' . "\n"); и до }
есть строка

 vam_yml_out('</offer>' . "\n");

Оставить или удалить?

Оставить

1 лайк

Закомментировал эту строку- помогло:

//  vam_yml_out('<rec>'.implode(",",array_unique($also_purchased)).'</rec>' . "\n");

с остальным не разобрался как сделать, то одна ошибка, то другая.

У меня в yml Андрей Березин делал доработку по выводу параметров, где вместо китайских нестандартных размеров на одежде для яндекс маркета подставляются размеры соответствующие стандартным размерным сеткам- это можно будет сохранить в новой версии?

Думаю да, нужно будет персональную доработку только делать.

1 лайк

надеемся на новую версию)))

1 лайк

в последней версии все равно в файле в стандартном market.php есть отсылка к этому дурацкому rec…
конечно можете сказать- мол есть же новая система импорта, но штука в том, что пока URL этого вывода поменяешь, и закинешь в яндекс, пройдет время…и не факт что останутся те же позиции в товарной выдаче

Вам нужно настроить экспорт в новой версии и добавить ссылку в вебмастере как можно скорее.

на двух магазинах так и сделал…причем на одно из них потерял несколько дней. Яндекс сейчас очень серьезно проверяет перепроверяет новые фиды.
поэтому есть вопрос/пожелание, можно ли сделать вот как:
у нас по умолчанию фид по адресу market.php а скажем новый идет с адресом такого вида
/feed/market_argo_yandex и это новое добавление фида в поиск…бла бла бла…возня проверки.

можно ли сделать так- чтобы новая ссылка была тоже вида market.php или market199.php например… какой-то может хитрый редирект или что.
Дабы не возиться в яндексе и не терять несколько дней ( и возможно позиции)- из-за смены урла товарного фида… надо привести к старому адресу- как вы поняли


то есть вот о чем говорю…и итоговый адрес /feed/market_argo_yandex
что крайне нехорошо ( если хотел сделать адрес как раньше market***.php )

К сожалению такой подмены не получится сделать.

жаль… как говорится- лучшее враг хорошего(( да и яндексу спасибо- за супер мега сложные проверки…