Hotlex

Специальная цена в яндекс. маркет

Рекомендуемые сообщения

Hotlex    2

Есть товар, у которого есть обычная цена и специальная, заполненная на соответствующей вкладке, или цена по акции.

Так вот, в маркет выгружается только основная цена, ну в смысле, что есть специальная цена или нет.

Никто не сталкивался с подобным?

И ещё, попробовал добавить название товара, а не только производителя и модель, получилось так:

			$products = $this->model_catalog_product->getProducts();
			foreach ($products as $product) {
				$output .= '<offer id="'.$product['product_id'].'" type="fname.vendor.model" available="true" bid="13">' . $this->eof;
				$output .= '<url>'.(HTTP_SERVER . 'index.php?route=product/product&product_id=' . $product['product_id']).'</url>';
				$output .= '<price>' . $this->tax->calculate($product['price'], $product['tax_class_id']) . '</price>';
				$output .= '<currencyId>RUR</currencyId>';

				// Определяем категорию для товара
				$categories = $this->model_catalog_product->getCategories($product['product_id']);
				$output .= '<categoryId>'.$categories[0]['category_id'].'</categoryId>';

				// Определеяме изображение
				if ($product['image']) {
					$output .= '<picture>' . $this->model_tool_image->resize($product['image'], 500, 500) . '</picture>';
				} else {
					$output .= '<picture>' . $this->model_tool_image->resize('no_image.jpg', 500, 500) . '</picture>';
				}

				$output .= '<delivery> true </delivery>';
				$output .= '<local_delivery_cost>300</local_delivery_cost>';
				
				$output .= '<fname>' . $product['name'] . '</fname>';
				
			//	$output .= '<typePrefix>  </typePrefix>';
				$output .= '<vendor>' . $product['manufacturer'] . '</vendor>';
			//	$output .= '<vendorCode>  </vendorCode>';
				$output .= '<model>'.$product['model'].'</model>';
				$output .= '<description>'.$product['description'].'</description>';
				$output .= '<manufacturer_warranty>true</manufacturer_warranty>';
				$output .= '<country_of_origin>Япония</country_of_origin>';
				$output .= '</offer>';

в результате при проверке маркетом идет ошибка:

Определена кодировка: utf-8 (строка 0, столбец 0)
Дата из файла: 2011-02-19 07:02 (строка 1, столбец 166)
Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: The value 'fname.vendor.model' for attribute 'type' does not match its defined enumeration or notation list (строка 3, столбец 2697)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yesvik    485

Времени проверять сейчас нет, но по идее вот так должно получиться

ищем строку

$output .= '<price>' . $this->tax->calculate($product['price'], $product['tax_class_id']) . '</price>';
и меняем на

if ($product['special']) {
	$output .= '<price>' . $this->tax->calculate($product['special'], $product['tax_class_id']) . '</price>';
} else {
	$output .= '<price>' . $this->tax->calculate($product['price'], $product['tax_class_id']) . '</price>';
}

А по поводу ошибки - Яша не понимает элемент <fname> и значение 'fname.vendor.model' атрибута type, такого не предусмотрено в DTD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я пробовал $product['price'] заменить на $product['special'],

но почему-то $product['special'] = 0 для всех товаров

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yesvik    485
Yesvik    485

[#10870] Указанный файл не найден

Файл ещё не прошел проверку, пройдёт проверку будет доступен

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу