Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Пересохранить все товары


prochet
 Share

Recommended Posts

Двс. Нужен скрипт/модуль для пересохранения всех товаров.

Даннаое решение необходимо для связки модулей Facebook Ads и Валюта+.

Модуль от ФБ обновляет свою базу только при пересохранении продукта.

Link to comment
Share on other sites


14 минут назад, prochet сказал:

Модуль от ФБ обновляет свою базу только при пересохранении продукта.

посмотреть причину, вызвать кусок инициализации

  • +1 1
Link to comment
Share on other sites

2 часа назад, chukcha сказал:

А какой ответ вы хотели услышать?

В модуле есть кнопка - синхронизировать все товары
 

Тема лежит в поиске модулей.

Кнопка делает только связку товаров, а не обновляет их.

Пока не сохранить товар рукой, он не обновится

Link to comment
Share on other sites


  public function syncAllProducts() {
    $this->faeLog->write('Sync all products');
    $products = $this->model_extension_facebookproduct->
      getProducts();
    $successfully_sync = $this->syncProducts($products);
    $this->faeLog->write('Complete - Sync all products');
    return array(
      'total_count' =>  sizeof($products),
      'success_count' => $successfully_sync,
    );
  }

ВЫ утверждаете и посмотрели в код?

'extension/facebookproduct/syncProductForProductId',

 

  private function syncProducts($products) {

 

 

 public function syncProductForProductId($product_id) {
    $this->faeLog->write('Sync for product ' . $product_id);

    $operation = ', sync product';
    $error_data = array('operation' => 'Sync product');
    $this->validateFAEAndCatalogSetupAndProductUploadComplete(
      $operation,
      $error_data,
      true);

    $product = $this->model_extension_facebookproduct->
      getProduct($product_id);

 

Link to comment
Share on other sites

4 минуты назад, chukcha сказал:

Я вам задам вопрос

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

Кнопка синхронизации в первый раз загружает товар в каталог и создает связи в базе. Все остальное он подхватывает только после нажатии кнопки "сохранить". 

добавил товар - он через секунду на ФБ. Поменял фото, через 5 сек она на ФБ.

Меняет модуль цену по 10 раз в день и нихрена не уходит на ФБ. Заходишь в товар и сразу сохраняешь - секунда на ФБ

Edited by prochet
Link to comment
Share on other sites


    <operation>
      <search><![CDATA[$this->model_catalog_product->editProduct($this->request->get['product_id'], $this->request->post);]]></search>
      <add position="after"><![CDATA[
        try {
          $result = $this->load->controller(
            'extension/facebookproduct/syncProductForProductId',
            $this->request->get['product_id']);
          if (!isset($result['success_count'])
            || $result['success_count'] !== $result['total_count']) {
            $this->session->data['error_facebook_sync'] =
              $this->language->get('text_warning_facebook_sync');
          }
        } catch (Exception $e) {
          $this->load->language('catalog/product');
          $this->session->data['error_facebook_sync'] =
            ($e->getCode() === FacebookGraphAPIError::ACCESS_TOKEN_EXCEPTION_CODE)
            ? $this->language->get('text_warning_facebook_access_token_problem')
            : $e->getMessage();
        }
      ]]></add>
    </operation>

Главное - в секции try


 

Link to comment
Share on other sites

В 01.12.2018 в 23:03, chukcha сказал:
    <operation>
      <search><![CDATA[$this->model_catalog_product->editProduct($this->request->get['product_id'], $this->request->post);]]></search>
      <add position="after"><![CDATA[
        try {
          $result = $this->load->controller(
            'extension/facebookproduct/syncProductForProductId',
            $this->request->get['product_id']);
          if (!isset($result['success_count'])
            || $result['success_count'] !== $result['total_count']) {
            $this->session->data['error_facebook_sync'] =
              $this->language->get('text_warning_facebook_sync');
          }
        } catch (Exception $e) {
          $this->load->language('catalog/product');
          $this->session->data['error_facebook_sync'] =
            ($e->getCode() === FacebookGraphAPIError::ACCESS_TOKEN_EXCEPTION_CODE)
            ? $this->language->get('text_warning_facebook_access_token_problem')
            : $e->getMessage();
        }
      ]]></add>
    </operation>

Главное - в секции try


 

мне это ниочем не говорит =)

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.