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

Внедрение CPA (Яндекс.Маркет)


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

Доброе время суток!

Появилась необходимость внедрить новую "галочку" на подобие " Экспорт в YML".

Результат внедрения ниже:

5819877af0568_4.thumb.JPG.3c24ed0f95733a

Но есть проблема, сколько не щёлкая по крестику, в галочку он не превращается. Уже даже не знаю в какой файл лесть, для правки.

Подскажите, пожалуйста, в какие файлы необходимо внести изменения, чтобы эта колонка заработала как " Экспорт в YML"?

Ссылка на сообщение
Поделиться на другие сайты
14 минуты назад, sergey.gorbunov.sg сказал:

Доброе время суток!

Появилась необходимость внедрить новую "галочку" на подобие " Экспорт в YML".

Результат внедрения ниже:

5819877af0568_4.thumb.JPG.3c24ed0f95733a

Но есть проблема, сколько не щёлкая по крестику, в галочку он не превращается. Уже даже не знаю в какой файл лесть, для правки.

Подскажите, пожалуйста, в какие файлы необходимо внести изменения, чтобы эта колонка заработала как " Экспорт в YML"?

Здравствуйте!

Так просто добавить новую колонку в шаблон недостаточно ведь.

Надо php код писать для этой колонки, что б всё работало.

Нужно в /app/Controller/ContentsController.php делать копию метода admin_change_yml_export_status

и править уже код в Вашем новом методе, например назвать его admin_change_cpa_export_status

и в базе данных, в таблице contents рядом с yml_export добавлять новую колонку, например cpa_export

 

Вот если правильно всё сделаете, т.е. добавите колонку в базу, добавите обработчик для Вашего клика в новой колонки в /app/Controller/ContentsController.php и саму колонку в /app/View/Contents/admin.ctp

Тогда всё будет работать и галочка будет меняться.

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

Да, сработало! Основу Я сделал, а вот внесения изменений в БД Я как-то откладывал.

Теперь осталось, чтобы эти данные попадали в файл выгрузки toolsplus.ru/yandex_market.xml

На данный момент картина следующая: <cpa/>

А нужно: <cpa>1</cpa> или <cpa>0</cpa>

В файл yandex.ctp (/app/View/Sitemaps/xml) Я внёс следующую строку: <cpa><?php echo $content['Content']['cpa_export'] ?></cpa> после <name>

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

Ссылка на сообщение
Поделиться на другие сайты
59 минут назад, sergey.gorbunov.sg сказал:

Да, сработало! Основу Я сделал, а вот внесения изменений в БД Я как-то откладывал.

Теперь осталось, чтобы эти данные попадали в файл выгрузки toolsplus.ru/yandex_market.xml

На данный момент картина следующая: <cpa/>

А нужно: <cpa>1</cpa> или <cpa>0</cpa>

В файл yandex.ctp (/app/View/Sitemaps/xml) Я внёс следующую строку: <cpa><?php echo $content['Content']['cpa_export'] ?></cpa> после <name>

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

Всё правильно делаете, остался последний шаг, добавить это новое поле в /app/Controller/SitemapsController.php, что б в yandex.ctp выводилось значение этой колонки из базы.

Меняйте в /app/Controller/SitemapsController.php:

				if ($raw_data['ContentType']['name'] == 'category') {
					$content_list_categories[$count_categories]['id'] = $raw_data['Content']['id'];
					$content_list_categories[$count_categories]['parentId'] = $raw_data['Content']['parent_id'];
					$content_list_categories[$count_categories]['name'] = $raw_data['ContentDescription']['name'];
					$count_categories++;
				} elseif($raw_data['ContentType']['name'] == 'product' or $raw_data['ContentType']['name'] == 'downloadable') {
					$content_list_products[$count_products]['id']     = $raw_data['Content']['id'];

на:

				if ($raw_data['ContentType']['name'] == 'category') {
					$content_list_categories[$count_categories]['id'] = $raw_data['Content']['id'];
					$content_list_categories[$count_categories]['cpa_export'] = $raw_data['Content']['cpa_export'];
					$content_list_categories[$count_categories]['parentId'] = $raw_data['Content']['parent_id'];
					$content_list_categories[$count_categories]['name'] = $raw_data['ContentDescription']['name'];
					$count_categories++;
				} elseif($raw_data['ContentType']['name'] == 'product' or $raw_data['ContentType']['name'] == 'downloadable') {
					$content_list_products[$count_products]['id']     = $raw_data['Content']['id'];
					$content_list_products[$count_products]['cpa_export']     = $raw_data['Content']['cpa_export'];

т.е. просто добавляете в массив новое значение cpa_export и всё должно заработать, по идее.

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

Ништяк, заработало! :)

Единственное, в файле /app/View/Sitemaps/xml/yandex.ctp исправил с:

<cpa><?php echo $content['Content']['cpa_export'] ?></cpa>

на

<cpa><?php echo $product['cpa_export'] ?></cpa>

В общем ещё раз спасибо за помощь!

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

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

Это уже сами смотрите.

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

В новом обновлении это будет по умолчанию добавлено в вамшоп2?

"это" - это что именно?!

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