Перейти к содержанию
Официальный форум поддержки Simpla

Проблемы с Google Merchant Center


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

Говорит что сопоставленный тег XML.

 

Но он открывается:

attachicon.gif22.PNG

 

и закрывается:

attachicon.gif111.PNG

 

 

Подскажите как это исправить?

attachicon.gifgoogle1.php

Гугл мерчант не совсем адекватный. Попробуйте удалить пробелы между последней строкой и закрывающими тегами.

 

P.S. А что за оффер в конце закрывается? В документации GoogleMerchant нет offer. 

 

P.P.S. На случай если решитесь приобрести платное решение. Ссылка

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

1. Проверять надо ВСЕ теги, а не только тот, который в строке, на которой обнаружена ошибка.

2. В приложенном файле PHP  не встречается offer вообще. А на картинке есть. Похоже, Вы что-то попутали...

3. В приложенном файле PHP  с ходу видна ошибка: тег item открывается ВСЕГДА, а закрывается ПРИ УСЛОВИИ...

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

1. Проверять надо ВСЕ теги, а не только тот, который в строке, на которой обнаружена ошибка.

2. В приложенном файле PHP  не встречается offer вообще. А на картинке есть. Похоже, Вы что-то попутали...

3. В приложенном файле PHP  с ходу видна ошибка: тег item открывается ВСЕГДА, а закрывается ПРИ УСЛОВИИ...

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

Но после этого появилась другая ошибка.

Удаленный сервер вернул недопустимый код ответа. код ответа 500

В чем сейчас проблема?

google1.php

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

Возможно, Вы в адресе ошиблись. А может и еще десяток возможных причин быть...

Если бы Вы написали ТОЧНО, при каких действиях ошибка возникла, продвинулись бы быстрее в решении...

А файл по сравнении с первым совсем другой. Но грубые ошибки в нем тоже видны сразу...

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

Возможно, Вы в адресе ошиблись. А может и еще десяток возможных причин быть...

Если бы Вы написали ТОЧНО, при каких действиях ошибка возникла, продвинулись бы быстрее в решении...

А файл по сравнении с первым совсем другой. Но грубые ошибки в нем тоже видны сразу...

Инженеры подсказали мне, что дело в том, что в фиде было намешано 2 типа требования к фидам - Yandex и Google, а именно:

сейчас Ваш фид начинается с  <?xml version='1.0' encoding='UTF-8'?> <rss version='2.0' xmlns:g='http://base.google.com/ns/1.0'> <channel>

 

А нужно, чтобы  было <?xml version='1.0' encoding='UTF-8'?>  и потом нужно добавить: <!DOCTYPE yml_catalog SYSTEM "shops.dtd"> 

 

При этом сказали, что фид составлен верно.

Я исправил по их рекомендациям.

И сейчас выдаю 500 ошибку

post-19620-0-08873900-1427866122_thumb.png

Изменено пользователем IvanDorn
Ссылка на сообщение
Поделиться на другие сайты

Что за ерунда?

<?php
require_once('api/Simpla.php');
$simpla = new Simpla();
header("Content-type: text/xml; charset=UTF-8");
print (pack('CCC', 0xef, 0xbb, 0xbf));
// Заголовок
print
"<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE yml_catalog SYSTEM 'shops.dtd'>
<yml_catalog date='".date('Y-m-d H:i')."'>
<shop>
<name>".$simpla->settings->site_name."</name>
<company>".$simpla->settings->company_name."</company>
<url>".$simpla->config->root_url."</url>
";
// Валюты
$currencies = $simpla->money->get_currencies(array('enabled'=>1));
$main_currency = reset($currencies);
print "<currencies>
";
foreach($currencies as $c)
if($c->enabled)
print "<currency id='".$c->code."' rate='".$c->rate_to/$c->rate_from*$main_currency->rate_from/$main_currency->rate_to."'/>
";
print "</currencies>
";
// Категории
$categories = $simpla->categories->get_categories();
print "<categories>
";
foreach($categories as $c)
{
print "<category id='$c->id'";
if($c->parent_id>0)
print " parentId='$c->parent_id'";
print ">".htmlspecialchars($c->name)."</category>
";
}
print "</categories>
";
// Товары
$simpla->db->query("SET SQL_BIG_SELECTS=1");
// Товары
$simpla->db->query("SELECT v.price, v.id as variant_id, p.name as product_name, v.name as variant_name, v.position as variant_position, p.id as product_id, p.url, p.annotation, pc.category_id, i.filename as image
FROM __variants v LEFT JOIN __products p ON v.product_id=p.id
LEFT JOIN __products_categories pc ON p.id = pc.product_id AND pc.position=(SELECT MIN(position) FROM __products_categories WHERE product_id=p.id LIMIT 1)
LEFT JOIN __images i ON p.id = i.product_id AND i.position=(SELECT MIN(position) FROM __images WHERE product_id=p.id LIMIT 1)
WHERE p.visible AND (v.stock >0 OR v.stock is NULL) GROUP BY v.id ORDER BY p.id, v.position ");
print "<offers>
";
$currency_code = reset($currencies)->code;
// В цикле мы используем не results(), a result(), то есть выбираем из базы товары по одному,
// так они нам одновременно не нужны - мы всё равно сразу же отправляем товар на вывод.
// Таким образом используется памяти только под один товар
$prev_product_id = null;
while($p = $simpla->db->result())
{
$variant_url = '';
if ($prev_product_id === $p->product_id)
$variant_url = '?variant='.$p->variant_id;
$prev_product_id = $p->product_id;
$price = round($simpla->money->convert($p->price, $main_currency->id, false),2);
print
"
<offer id='$p->variant_id' available='true'>
<url>".$simpla->config->root_url.'/products/'.$p->url.$variant_url."</url>";
print "
<price>$price</price>
<currencyId>".$currency_code."</currencyId>
<categoryId>".$p->category_id."</categoryId>
";
if($p->image)
print "<picture>".$simpla->design->resize_modifier($p->image, 200, 200)."</picture>
";
print "<name>".htmlspecialchars($p->product_name).($p->variant_name?' '.htmlspecialchars($p->variant_name):'')."</name>
<description>".htmlspecialchars(strip_tags($p->annotation))."</description>
</offer>
";
}
print "</offers>
";
print "</shop>
</yml_catalog>
";

Вроде все в порядке!

Но пишет что:

В начале фида данных не указаны параметры кодировки

Как это не указаны???? а это что?

"<?xml version='1.0' encoding='UTF-8'?>

 

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

 

Что за ерунда?

<?php
require_once('api/Simpla.php');
$simpla = new Simpla();
header("Content-type: text/xml; charset=UTF-8");
print (pack('CCC', 0xef, 0xbb, 0xbf));
// Заголовок
print
"<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE yml_catalog SYSTEM 'shops.dtd'>
<yml_catalog date='".date('Y-m-d H:i')."'>
<shop>
<name>".$simpla->settings->site_name."</name>
<company>".$simpla->settings->company_name."</company>
<url>".$simpla->config->root_url."</url>
";
// Валюты
$currencies = $simpla->money->get_currencies(array('enabled'=>1));
$main_currency = reset($currencies);
print "<currencies>
";
foreach($currencies as $c)
if($c->enabled)
print "<currency id='".$c->code."' rate='".$c->rate_to/$c->rate_from*$main_currency->rate_from/$main_currency->rate_to."'/>
";
print "</currencies>
";
// Категории
$categories = $simpla->categories->get_categories();
print "<categories>
";
foreach($categories as $c)
{
print "<category id='$c->id'";
if($c->parent_id>0)
print " parentId='$c->parent_id'";
print ">".htmlspecialchars($c->name)."</category>
";
}
print "</categories>
";
// Товары
$simpla->db->query("SET SQL_BIG_SELECTS=1");
// Товары
$simpla->db->query("SELECT v.price, v.id as variant_id, p.name as product_name, v.name as variant_name, v.position as variant_position, p.id as product_id, p.url, p.annotation, pc.category_id, i.filename as image
FROM __variants v LEFT JOIN __products p ON v.product_id=p.id
LEFT JOIN __products_categories pc ON p.id = pc.product_id AND pc.position=(SELECT MIN(position) FROM __products_categories WHERE product_id=p.id LIMIT 1)
LEFT JOIN __images i ON p.id = i.product_id AND i.position=(SELECT MIN(position) FROM __images WHERE product_id=p.id LIMIT 1)
WHERE p.visible AND (v.stock >0 OR v.stock is NULL) GROUP BY v.id ORDER BY p.id, v.position ");
print "<offers>
";
$currency_code = reset($currencies)->code;
// В цикле мы используем не results(), a result(), то есть выбираем из базы товары по одному,
// так они нам одновременно не нужны - мы всё равно сразу же отправляем товар на вывод.
// Таким образом используется памяти только под один товар
$prev_product_id = null;
while($p = $simpla->db->result())
{
$variant_url = '';
if ($prev_product_id === $p->product_id)
$variant_url = '?variant='.$p->variant_id;
$prev_product_id = $p->product_id;
$price = round($simpla->money->convert($p->price, $main_currency->id, false),2);
print
"
<offer id='$p->variant_id' available='true'>
<url>".$simpla->config->root_url.'/products/'.$p->url.$variant_url."</url>";
print "
<price>$price</price>
<currencyId>".$currency_code."</currencyId>
<categoryId>".$p->category_id."</categoryId>
";
if($p->image)
print "<picture>".$simpla->design->resize_modifier($p->image, 200, 200)."</picture>
";
print "<name>".htmlspecialchars($p->product_name).($p->variant_name?' '.htmlspecialchars($p->variant_name):'')."</name>
<description>".htmlspecialchars(strip_tags($p->annotation))."</description>
</offer>
";
}
print "</offers>
";
print "</shop>
</yml_catalog>
";

Вроде все в порядке!

Но пишет что:

В начале фида данных не указаны параметры кодировки

Как это не указаны???? а это что?

"<?xml version='1.0' encoding='UTF-8'?>

Там ещё должна быть такая строка

<rss xmlns:g='http://base.google.com/ns/1.0' version='2.0'>

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

Там ещё должна быть такая строка

<rss xmlns:g='http://base.google.com/ns/1.0' version='2.0'>

print"<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE yml_catalog SYSTEM 'shops.dtd'><rss xmlns:g='http://base.google.com/ns/1.0' version='2.0'><yml_catalog date='".date('Y-m-d H:i')."'><shop>

 

Толку нет. тег внизу закрыл. Все равно таже проблема!

Изменено пользователем IvanDorn
Ссылка на сообщение
Поделиться на другие сайты

 

Вроде все в порядке!

Но пишет что:

В начале фида данных не указаны параметры кодировки

Как это не указаны???? а это что?

"<?xml version='1.0' encoding='UTF-8'?>

 

Читайте внимательно. Пишет все правильно. Кодировка у Вас указана, но НЕ в начале...

 

Похоже, тот, кто разрабатывал Ваш скрипт, копировал бездумно, и именно В НАЧАЛЕ вставил

print (pack('CCC', 0xef, 0xbb, 0xbf));
Ссылка на сообщение
Поделиться на другие сайты

 

Читайте внимательно. Пишет все правильно. Кодировка у Вас указана, но НЕ в начале...

 

Похоже, тот, кто разрабатывал Ваш скрипт, копировал бездумно, и именно В НАЧАЛЕ вставил

print (pack('CCC', 0xef, 0xbb, 0xbf));

Я удалил строку. Обновил, но Ничего не поменялось.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...
<?xml version='1.0'?>
<rss xmlns:g='http://base.google.com/ns/1.0' version='2.0'>

<channel>
<title>мойсат</title>
<url>http://мойсат</url>
<description>мойсат</description>

</channel>
</rss>

 

больше ничего нет )

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

Больше и не должно быть ничего. Потому что там основной запрос изменен так, что на стандартной Simpla дает ошибку и как следствие  товаров не находит...

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

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

я глянул мельком. если не ошибаюсь в 29 строке лишний прицеп в запросе

убрать надо p.market

 

видимо там, где взяли был выбор в админке

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

Переделал файл, просто данный файл был с изменениями от дополнения Выборочная выгрузка в Маркет

 

http://templazilla.ru/moduli-i-dopolnenija-simpla-cms/2015/06/18/vygruzka-v-google-merchant.html

Изменено пользователем vda
Ссылка на сообщение
Поделиться на другие сайты

Переделал файл, просто данный файл был с изменениями от дополнения Выборочная выгрузка в Маркет

 

http://templazilla.ru/moduli-i-dopolnenija-simpla-cms/2015/06/18/vygruzka-v-google-merchant.html

Как посмотреть с телефона?

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

Переделал файл, просто данный файл был с изменениями от дополнения Выборочная выгрузка в Маркет

 

http://templazilla.ru/moduli-i-dopolnenija-simpla-cms/2015/06/18/vygruzka-v-google-merchant.html

 

Вы проверяли свою вторую версию хоть чуть-чуть? Например, при дефолтной установке Simpla?

Надо же хоть немного  заботиться о пользователях и чувствовать ответственность, а не выкладывать абы-что в силе тяп-ляп.

Крайне не рекомендуется использовать такое...

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

 

Вы проверяли свою вторую версию хоть чуть-чуть? Например, при дефолтной установке Simpla?

Надо же хоть немного  заботиться о пользователях и чувствовать ответственность, а не выкладывать абы-что в силе тяп-ляп.

Крайне не рекомендуется использовать такое...

 

Да была проблемка, щас исправил, вот нормальный файл https://yadi.sk/d/S7ordzzvhMLZz

Изменено пользователем vda
Ссылка на сообщение
Поделиться на другие сайты

Да была проблемка, щас исправил, вот нормальный файл https://yadi.sk/d/S7ordzzvhMLZz

 

Как была грубейшая ошибка, так и осталась...

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

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

Как была грубейшая ошибка, так и осталась...

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

 

https://yadi.sk/d/rM__mkQShMPeY

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

самое забавное..

пока вы спорите, я взял ПЕРВЫЙ исходник  и починил.

Проверил - работает сабака и выгружает. гугл аж пищит и пальцы на ногах сводит ....

каждый день в пять утра.

 

только не пользуюсь. просто проверил на домене.

 

А в этой теме мы не спорили, а обсуждали существо дела. В результате получили

1. решение для ВСЕХ,

2. решение, скорее всего, качественное

3. также обнаружилось, что автор заботится о своем решении - быстро и по существу реагирует на сообщения об ошибках. На этом форуме такое далеко не всегда встречается. Значит, если вдруг вылезет еще ошибка, скорее всего, тоже поправит быстро.

 

А Вы сделали себе и для собственного удовольствия. К тому же для забавы (так как "только не пользуюсь").

 

И вообще что хотите сказать своим постом? То ли просто "хи-хи, ха-ха", то ли даете понять, что Вы умнее...

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...