Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Встроенный модуль выгрузки на яндекс маркет OCStore 3.0


Recommended Posts

Всем привет.

Может кто сталкивался с похожей проблемой. При выгрузки товаров на яндекс маркет ср-вами модуля из коробки OCStore 3.0 (автора не нашел) в описание товара модуль лепит п»ї я так понимаю это какой-то кривой перевод тэга <p>, а может это перевод тега div
Причем что интересно, когда в описании товара есть тэги <p> и др. все нормально, а если нет и все завернуто просто в div, то он подставляет в начало перед текстом это п»ї

Так же может быть, что такой взаимосвязи нет и вне зависимости от наличия тегов html в описании товара он везде ставит это п»ї

 w3jlbo8wOUonEjpMQaRs

Надіслати
Поділитися на інших сайтах


	 */
	private function prepareField($field) {
		$field = htmlspecialchars_decode($field);
		$field = strip_tags($field);
		$from = array('"', '&', '>', '<', '\'');
		$to = array('&quot;', '&amp;', '&gt;', '&lt;', '&apos;');
		$field = str_replace($from, $to, $field);
		if ($this->from_charset != 'windows-1251') {
			$field = iconv($this->from_charset, 'windows-1251//TRANSLIT//IGNORE', $field);
		}
		$field = preg_replace('#[\x00-\x08\x0B-\x0C\x0E-\x1F]+#is', ' ', $field);

		return trim($field);
	}

	protected function getPath($category_id, $current_path = '') {
		if (isset($this->categories[$category_id])) {
			$this->categories[$category_id]['export'] = 1;

			if (!$current_path) {
				$new_path = $this->categories[$category_id]['id'];
			} else {
				$new_path = $this->categories[$category_id]['id'] . '_' . $current_path;
			}	

			if (isset($this->categories[$category_id]['parentId'])) {
				return $this->getPath($this->categories[$category_id]['parentId'], $new_path);
			} else {
				return $new_path;
			}

		}
	}

	function filterCategory($category) {
		return isset($category['export']);
	}

вот код набора правил, как я понимаю, может сюда можно записать, чтобы убирал п»ї ?
В php я не разбираюсь, поэтому может кто что посоветует?

Надіслати
Поділитися на інших сайтах


 

Обновить модуль до последней версии:

Каталог (сайт): https://github.com/ocStore/ocStore/commit/ea090004f5c464687d6812ac072a0ec31e222e84

Админка: https://github.com/ocStore/ocStore/commit/85dd172635bf8cd3d45f7a6a5952c8b61b2e281e

 

Надіслати
Поділитися на інших сайтах

  • 8 months later...
  • 4 weeks later...

Уважаемые товарищи, кто-нибудь добавлял в этот модуль вывод атрибутов товаров?

<param name=[Имя характеристики]>[Значение характеристики]</param>

Добавил модель

public function getProductAttributes($product_id) {
$attributes_sql = "SELECT pa.attribute_id, pa.text, ad.name FROM " . DB_PREFIX . "product_attribute pa INNER JOIN " . DB_PREFIX . "attribute_description ad ON (ad.attribute_id = pa.attribute_id AND ad.language_id = pa.language_id) WHERE product_id ='" . (int)$product_id . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "'";
$product_attributes = $this->db->query($attributes_sql);
return $product_attributes->rows;
}

Вывожу в контроллере

foreach ($products as $product) {
....
....
$product['attributes'] = $this->model_extension_feed_yandex_market->getProductAttributes($product['product_id']);
foreach($product['attributes'] as $attribute){
  $data['param'] = array(
    array(
    'name'=>$attribute['name'],
    'text'=>$attribute['text']
  ));}

 

в результате получаю только одну характеристику (атрибут) а их с десяток.

 

что я делаю не так?

 

 

Надіслати
Поділитися на інших сайтах


Исправил так:

 

подгрузил модель продуктов

$this->load->model('catalog/product');

и добавил вывод атрибутов так

foreach ($products as $product) {
....
....

$attribute_groups = $this->model_catalog_product->getProductAttributes($product['product_id']);
	if ($attribute_groups) {
		$data['param'] = array();
    	foreach ($attribute_groups as $attribute_group) {
           	foreach ($attribute_group['attribute'] as $attribute) {
           		$data['param'][] = array(
                	'name'	=>	$attribute['name'], 
                	'text'	=>	$attribute['text']
                );
            }
        }
  	}

Теперь все характеристики выводятся!

Надіслати
Поділитися на інших сайтах


В 01.07.2021 в 00:38, yury сказал:

Друзья, подскажите пожалуйста, как можно добавить выгрузку количества грамм? 

у вас получилось добавить?

 

полагал что будет достаточно просто добавить

foreach ($products as $product) {
.
.
.
$data['weight'] = $product['weight'];
$data['dimensions'] = $product['lenght'] . '/' . $product['width'] . '/' . $product['height'];

но что-то пошло не так, в результате выпадает ошибка "Undefined index: weight ...." и т.д.

 

Как всё-таки правильно будет вывести вес и размеры товара?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.