Перейти к содержанию
Форум поддержки пользователей VamShop

market.php - не обновляется из админки.


Иван Градов

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

Возник такой трабл.

В настройках яндекс маркета (../admin/configuration.php?gID=23) есть возможность поставить ссылку для определения реферальных ссылок с маркета. Добавляю в админке refID=12345 но в самом коде не появляется этого параметра у товаров.

При этом, если в админке изменять параметры типа IP или браузер, то они добавляются в адрес товара.

Что исправить чтоб отслеживать рефералов маркета?

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

Top Posters In This Topic

  • support

    21

  • Иван Градов

    20

  • ABerezin

    10

Сделайте чуть проще, просто отправьте яндексу ссылку на файлы с данными вот в таком виде: http://магазин.ру/market.php?ref=1

Все ссылки на товары внутри этого файла будут с ref=1

Если 1.44 версия, зарегистрируйтесь в партнёрке сами, получите как раз 1 ref номер и будете смотреть статистику по кликам и продажам через яндекс.

Либо отслеживать статистику через внешние сервисы, типа Google Analytics

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

Версия 1.39 :(

Просто столько файлов уже менялось, что обновляться довольно проблематично :(

Партнерка не хочет нормальтно работать. После ее установки каждый 3 раз выдает ошибку /db_error.html

Может все-таки подправить что-то в market.php, чтоб можно было отслеживать через Кампании.

Про статистику гугл-аналитикс я написал чуть раньше http://vamshop.ru/forum/index.php?topic=928.0

он не совсем корректно считает заказы, поэтому с этим сложности.

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

Тогда попробуй в market.php заменить:


$yml_referer = (YML_REFERER == 'false' ? "" : (YML_REFERER == 'ip' ? '&ref_ip=' . $_SERVER["REMOTE_ADDR"] : '&ref_ua=' . $_SERVER["HTTP_USER_AGENT"]));

[/code] на:
[code]
$yml_referer = . '&' . YML_REF_ID;

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

Не за что, может по умолчанию именно так и сделать в магазине!?

А то большого смысла в ip адресе и user agent вроде бы нет.

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

Опять я с вопросами про market.php

Когда выдается сам XML появляется такое

<categoryId type="Own">50</categoryId>

У каждого товара значение различается. И они не совпадают с номерами реальных категорий.

Из-за этого некоторые товары в маркете появляются не в своих категориях.

По логике товары должны быть только в своей категории. :(

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

Да вроде всё ведь генерируется автоматов, исходя из реальных данных категорий.

Может просто есть дубли категорий или ещё что, т.е. два одинаковых названия категорий или другие проблемы с забитыми товарами, категориями, по идее, должно быть всё ровно, если база товаров забита ровно.

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

Нашел в чем проблема.

Если товары вводить не в ручную, а эспортом из экселя,  то кроме нормальных данных, добавляются еще и уникальные для каждого товара категории. Соответственно, 10 раз зальешь список товаров через эксель появится 10*количество товаров категорий. Эти новые категории совершенно пустые. У них даже своего названия нет.

Удалил их из myadmin и исчезли они.

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

Например, у меня есть однодневные цветные линзы. Значит этот товар относится к 3 категориям. Однодневные, цветные и все товары списком. Т.к. у последней категории самый большой порядковый номер, то все товары отнесены в категорию "общий список", и не видны в других категориях.

Что исправить?

В коде вывода инфы про категории написано следующее:

for ($ic=0,$nc=sizeof($cats_id); $ic < $nc; $ic++) {
echo "  <categoryId>" . $cats_id[$ic] . "</categoryId>\n";
}[/code]

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

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

А так нельзя, в струкруте YML файла ведь написано, что у товара нужно указывать лишь одну категорию, нельзя сразу несколько.

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

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

Файл market.php можно скопировать под другим именем и использовать не только в яндекс маркете.

Нужно, чтоб для 1 товара выдавались все категории к которым он относится. Я не умею запросы SQL писать, а то сам бы написал.

Как вывести все категории товара в одном предложениии?

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

Нет в маркете такой возможности.

В маркете: 1 товара = 1 id категории.

Я ж выше написал, можно скопировать товар в разные категории и тогда в маркете будет три товара с 3 разными id.

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

А как тогда написать такой запрос к базе?

Для каждого products_id FROM 'products' \* это уже есть в маркете *\
смотрим таблицу 'products_to_categories' и для всех строк, в которых products_id соответствует текущему products_id echo "  <categoryId>" . categories_id . "</categoryId>\n";
[/code]

Т.е. получается так. Первый товар ID 1.

Все данные берем ничего не мняя из файла market.php

вместо кода про категории выдаем мой запрос. В моем случае получится, что в offer 1 будет 2 строки <categoryId>5</categoryId>

<categoryId>46</categoryId>

Я сам запрос не знаю как составить. А логика простая, и легко выполнимая. И тогда получится то что мне надо, а не куча одинаковых товаров с разными ID

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

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

Я ж тебе об этом выше уже сказал.

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

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

Я ж тебе об этом выше уже сказал.

разговор не об Я-М, а о возможности отдавать XML с категориями партнерам. Зачем им XML без категорий?

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

А как будет разбираться этот XML файл если там два тэга categoryId в одном товаре?!

Мне просто не понятно это, это ж неправильная структура XML.

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

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

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

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

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

Саш, напиши пожалуйста, вот такой запрос к базе.

Я никак разобраться в твоих переменных не могу.

Я его вставлю куда мне надо :)

А как тогда написать такой запрос к базе?

Для каждого products_id FROM 'products' \* это уже есть в маркете *\
смотрим таблицу 'products_to_categories' и для всех строк, в которых products_id соответствует текущему products_id echo "  <categoryId>" . categories_id . "</categoryId>\n";
[/code]

Т.е. получается так. Первый товар ID 1.

Все данные берем ничего не мняя из файла market.php

вместо кода про категории выдаем мой запрос. В моем случае получится, что в offer 1 будет 2 строки <categoryId>5</categoryId>

<categoryId>46</categoryId>

Я сам запрос не знаю как составить. А логика простая, и легко выполнимая. И тогда получится то что мне надо, а не куча одинаковых товаров с разными ID

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

Нормальный там запрос - выбирает все товары, включая линкованные.

Там кто-то изменил код, заменив

$cats_id[] = $products['categories_id'];

на

$cats_id[0] = $products['categories_id'];

При этом в выходной yml попадала последняя категория, т.е. если товар был линкован, то попадала именно только линкованная, причём последняя

Замени

$cats_id[0] = $products['categories_id'];

на

$cats_id[] = $products['categories_id'];

и будет тебе список всех категорий.

На самом деле нужен параметр, который-бы определял, выводить все категории или только основную. По крайней мере у себя для zen-cart я так сделал.

Саня! Кроме этого ляпа там ещё есть странные вещи. 

Например странный цикл

for ($iproducts = 0, $nproducts = vam_db_num_rows($products_query); $iproducts <= $nproducts; $iproducts++) {

  $products = vam_db_fetch_array($products_query);

вместо

while($products = vam_db_fetch_array($products_query)) {

или очень коварный порядок сортировки:

order by pd.products_name

и т.д.

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

Андрей, спасибо, исправил цикл, хотя я вроде ничего не вносил сам туда после того как ты мне присылал файлик этот, с поддержкой cbid и bid.

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

Так я ведь поддержку cbid и bid вставлял в твой файл. Аудит не проводил.

А вот строки:


$cats_id[0] = $products['categories_id'];
[/code]

нет в market.php

Строка 173.

Давай я тебе пришлю файл, где это параметризовано. 

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

×
×
  • Создать...