Перейти к содержимому


Фотография
- - - - -

При выгрузке товаров в YML - available="false"


Лучший Ответ Cheren-dow , 24 November 2015 - 11:35

Max, попробуйте приведенный вами кусок кода заменить на:

} elseif ($element->config->type == 'jbpriceplain' || $element->config->type == 'jbpricecalc') {

    $prices  = $element->getList()->getTotal();
    $balance = $element->getList()->current()->getValue(true, '_balance');

    $price[$key]      = $prices->val();
    $currencyId[$key] = $prices->cur();

    if ($balance) {
        if ($balance == 0) {
            $available[$key] = 'false';
        } elseif ($balance == -1 || $balance > 0) {
            $available[$key] = 'true';
        }else {
            $available[$key] = 'false';
        }
    } else {
        $available[$key] = 'false';
    }

    $offer = true;
}

Не проверял, но должно сработать.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 5

#1 Max

Max

Отправлено 24 November 2015 - 11:28

В продолжение темы

http://forum.jbzoo.c...e/?hl=available

 

 

Экспорт в yml

 

Наличие товара бесконечный [-1] (то есть есть в наличие,  available="true") а при выгрузке - available="false"

Необходимо дописать "-1" - true, плз хелп

 

 

  1. \media\zoo\applications\jbuniversal\framework\helpers\jbyml.php
} elseif ($element->config->type == 'jbpriceplain' || $element->config->type == 'jbpricecalc') {

                    $prices  = $element->getList()->getTotal();
                    $balance = $element->getList()->current()->getValue(true, '_balance');

                    $price[$key]      = $prices->val();
                    $currencyId[$key] = $prices->cur();

                    if ($balance) {
                        $available[$key] = $balance > 0 ? 'true' : 'false';
                    } else {
                        $available[$key] = 'false';
                    }

                    $offer = true;
                }

Сообщение отредактировал Max: 24 November 2015 - 11:52

  • 0

Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.7 WidgetKit: 2.4.3


#2 Cheren-dow

Cheren-dow

Отправлено 24 November 2015 - 11:35   Лучший Ответ

Max, попробуйте приведенный вами кусок кода заменить на:

} elseif ($element->config->type == 'jbpriceplain' || $element->config->type == 'jbpricecalc') {

    $prices  = $element->getList()->getTotal();
    $balance = $element->getList()->current()->getValue(true, '_balance');

    $price[$key]      = $prices->val();
    $currencyId[$key] = $prices->cur();

    if ($balance) {
        if ($balance == 0) {
            $available[$key] = 'false';
        } elseif ($balance == -1 || $balance > 0) {
            $available[$key] = 'true';
        }else {
            $available[$key] = 'false';
        }
    } else {
        $available[$key] = 'false';
    }

    $offer = true;
}

Не проверял, но должно сработать.


Сообщение отредактировал Cheren-dow: 24 November 2015 - 11:36

  • 0
Изображение
 

#3 Max

Max

Отправлено 24 November 2015 - 11:38

было "false" стало

<offer id="366" available="1">

a не true


  • 0

Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.7 WidgetKit: 2.4.3


#4 Cheren-dow

Cheren-dow

Отправлено 24 November 2015 - 11:44

Max, я изменил код, после публикации видимо вы скопировали 1-ю версию кода. Скопируйте еще раз код который в листинге. Значения true и false должны быть в кавычках.


Сообщение отредактировал Cheren-dow: 24 November 2015 - 11:44

  • 0
Изображение
 

#5 Max

Max

Отправлено 24 November 2015 - 11:47

Спасибо, все работает, странно что этого нет изначально "в коробке"


  • 0

Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.7 WidgetKit: 2.4.3


#6 Cheren-dow

Cheren-dow

Отправлено 24 November 2015 - 12:04

Max, добавим это решение в "коробку" спасибо, вам.


  • 0
Изображение
 




Click to return to top of page in style!