Региональность для выгрузок в Яндекс


После установки модуля в сервисах в админке сайта вы можете найти такую форму:

Форма создания региональных yml-файлов

С помощью него можно создать региональные yml-файлы для выгрузки в Яндекс. Но для этого нужно правильно заполнить поля. Поэтому ниже подробнее про каждое поле:

  • Относительный путь до исходного файла выгрузки (xml) - это путь до файла, который у вас сейчас используется для выгрузки. Скорее всего он у вас создан с помощью стандартных методов Битрикса. Если же он не создан, для дальнейшей работы его нужно создать. Путь нужно указывать от корня сайта.
  • Относительный путь до папки для новых динамических файлов (папка) - путь от корня сайта, куда будут склыдываться региональные yml файлы. Заметьте, что тут нужно указать не название файла, а именно папку, так как самих файлов будет больше одного.
  • ID сайта - ID сайта из настроек сайта. Скорее всего у вас он равен "s1". Параметр нужен будет для расчёта цен.
  • Адрес сайта - адрес вашего сайта, который отображается в браузере. Параметр будет использоваться для работы над ссылками в yml-файле.

Запуск генерации

Обычно на сайтах в каталогах содержатся десятки тысяч товаров. При генерации региональных yml-файлов нужно будет получить цену для каждого товара в каждом регионе. Это может быть колоссальный объём вычислений и далеко не каждый сервер их сможет провести, не упав. Поэтому мы реализовали генерацию так, что если за предыдущий запуск серверу не удалось подготовить yml-файлы, то при новом запуске будут переиспользованы вычисления с предыдущего. Таким образом при большом количестве товаров вы можете сгененировать все региональные выгрузки, запустив их генерацию множество раз на данной странице.

Запуск на кроне

Но есть и другой способ запуска генерации региональных файлов - запуск по крону. Его преимущество, кроме автоматизации в том, что крон-скрипты не имеют упомянутых раннее ограничений и могут сгенерировать файлы за один проход, пусть и очень долгий.
Если вы хотите использовать этот способ, поставьте на крон метод \Aristov\VRegions\YML::makeRegionalYmlAgent(); модуля aristov.vregions. Пример содержимого такого крон-файла с запуском нужного метода:

<?php
ini_set('max_execution_time', '600');
@set_time_limit(0);
@ignore_user_abort(true);

setlocale(LC_NUMERIC, 'C');

define('AUX_NO_PERSISTENT', true);
define('BX_CRONTAB', true);
define('NO_AGENT_CHECK', true);
define('NO_KEEP_STATISTIC', true);
define('NOT_CHECK_PERMISSIONS', true);

$_SERVER['DOCUMENT_ROOT'] = dirname(__FILE__);

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

CModule::IncludeModule('aristov.vregions');

\Aristov\VRegions\YML::makeRegionalYmlAgent();

	

А для того, чтобы крон-скрипт знал нужные настройки, запустите генерацию через форму в админке хотя бы один раз. Тогда модуль запомнит настройки и будет использовать их при работе в кроне.



Аристов Василий
Разработчик всех модулей на проекте

Теги



Что-то осталось непонятным или вы нашли неточность? Напишите, пожалуйста об этом в комментариях.

Написать комментарий

Чтобы писать комментарии, вам нужно войти на сайт

Авторизоваться через соцсеть

Авторизоваться через vk.com Авторизоваться через facebook.com

Хотите такие же комментарии себе на сайт? Купите готовый к установке модуль