Последние темы


Как задать значение по умолчанию для TV в catalogfill

  • Здравствуйте!
    Стараюсь сделать импорт экспорт под яндекс маркет, столкнулся с тем, что значения tv по ум не подставляются.

    Например у меня только одна валюта рубли. Тогда нет смысла делать список. Сделал скрытое поле с значением RUR по умолчанию. При импорте там не RUR а пусто. Пытался здесь $cf_config['imp_content_default'] прописать тоже самое, и опять пусто.

    В чём проблема?

    https://yandex.ru/support/partnermarket/yml/about-yml.xml

    //значения по умолчанию при импорте или проверка при экспорте
    $cf_config['content_row'] = array(
        array('Артикул',array(8,'tv')),
        array('name',array('pagetitle','content')),
        array('Краткое описание',array('introtext','content')),
        array('currencyId',array(7,'tv')),
        array('Цена',array(1,'tv')),
    );
    $cf_config['imp_content_default'] = array(
        'content' => array(
            'deleted' => 0,
            'published' => 1,
            'template' => 3
            'createdon' => strtotime("now")
            //'publishedon' => strtotime("now")
            //'pub_date' => strtotime("now")
            //'editedby' => 1
            //'editedon' => strtotime("now")
        ),
        'tv' => array(
            7 => 'RUR'
        )
    );
    

    ещё можно ли здесь, или где-то прописать название сайта чтобы пути к старнице или файлу были полные?
    https://yandex.ru/support/partnermarket/offers.xml

    //путь (xpath) в XML структуре до товаров
    $cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers';
    
  • Участник @Семён написал в Как задать значение по умолчанию для TV в catalogfill:

    Здравствуйте!
    Стараюсь сделать импорт экспорт под яндекс маркет, столкнулся с тем, что значения tv по ум не подставляются.

    Например у меня только одна валюта рубли. Тогда нет смысла делать список. Сделал скрытое поле с значением RUR по умолчанию. При импорте там не RUR а пусто. Пытался здесь $cf_config['imp_content_default'] прописать тоже самое, и опять пусто.

    В чём проблема?

    https://yandex.ru/support/partnermarket/yml/about-yml.xml

    //значения по умолчанию при импорте или проверка при экспорте
    $cf_config['content_row'] = array(
        array('Артикул',array(8,'tv')),
        array('name',array('pagetitle','content')),
        array('Краткое описание',array('introtext','content')),
        array('currencyId',array(7,'tv')),
        array('Цена',array(1,'tv')),
    );
    $cf_config['imp_content_default'] = array(
        'content' => array(
            'deleted' => 0,
            'published' => 1,
            'template' => 3
            'createdon' => strtotime("now")
            //'publishedon' => strtotime("now")
            //'pub_date' => strtotime("now")
            //'editedby' => 1
            //'editedon' => strtotime("now")
        ),
        'tv' => array(
            7 => 'RUR'
        )
    );
    

    ещё можно ли здесь, или где-то прописать название сайта чтобы пути к старнице или файлу были полные?
    https://yandex.ru/support/partnermarket/offers.xml

    //путь (xpath) в XML структуре до товаров
    $cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers';
    

    пробовал так подставлять значение к пути, как-то без успешно

    function filter_export($value_arr,$doc_id=0){
        $output_arr = $value_arr;
        if(isset($output_arr['content']['uri']))
          $output_arr['content']['uri'] = 'https://'.$_SERVER['SERVER_NAME'].$output_arr['content']['uri'];
        return $output_arr;
    }
    
  • Не понял какая связь CatalogFill и Яндекс.Маркет. По-моему для Маркета ничего не надо импортировать/экспортировать, а нужно только вывести в нужном формате.

  • @Andchir так я и пытаюсь это сделать(преобразовать), но из за описанных трудностей не выходит.

  • @Семён если товаров не много, вы можете просто сделать вывод при помощи getProducts для примера посмотрите вот на это решение:

    https://webstool.ru/generacziya-yml-v-modx-ne-testirovano.html
    http://bayguzin.ru/main/uroki/uroki-modx-revolution/yandeks-market.html
    http://artemblog.ru/articles/modxrevo/modx-yamarket.html

    У меня в каталоге больше 3 тыс товаров и это решение уже не работает, т.к. скрипт не успевает отработать за 30 сек, которыми ограничивает хостер.

  • так я и пытаюсь это сделать(преобразовать)

    Я не понял что во что вы пытаетесь преобразовать и для чего.

    При импорте там не RUR а пусто.

    Покажите скриншоты с настройками этого ТВ (тип ввода, тип вывода и т.п.). Вы пытаетесь обновить товары или добавить?

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

 

Последние комментарии

  • Z

    Спасибо, действительно проще создать отдельно.

    Читать далее
  • Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]].

    Можно не использовать [[+addit_data]], а выводить параметры по-отдельности.

    Цитата из документации:

    [[+shk_любой доп.параметр]] - любой доп. параметр, выбранный при добавлении товара в корзину (из [[+addit_data]]), например [[+shk_param1]].
    Если параметры сделаны в виде чекбоксов, то чтобы вывести отдельно каждый из них, нужно добавлять индекс (номер от нуля) для параметров следующих за первым.
    Пример: [[+shk_param1]], [[+shk_param1_1]], [[+shk_param1_2]] ...
    [[+shk_любой доп.параметр_price]] - цена доп.параметра. Пример: [[+shk_param1_price]].

    Читать далее
  • Z

    Доброго времени суток. Не могу разобраться, как передать данные migx-поля в корзину в плейсхолдер без "дублирования" в [[+addit_data]]
    Суть в чем: У меня есть 2 цены у товара (со скидкой и без скидки) Форма для отправки в корзину:

    <form action="[[~[[*resource_id]]? &scheme=`abs`]][[*alias]].html" method="post"> <input type="hidden" name="shk-id" value="[[*id]]" /> <input type="hidden" name="shk-name" value="[[*pagetitle]]" /> <input type="hidden" name="price_old__[[*id]]__add" value="[[*price_old]]" /> <input type="hidden" name="shk-count" value="1" /> <div class="product-price"> Цена: <span class="shk-price">[[!*price:shk_curr_rate:num_format]]</span> Старая цена - <span class="shk-price-old">[[+price_old]]</span> [[!+shk_currency]] </div> <div class="padding-lr-30"> <h5>Дополнительные услуги</h5> [[*param1]] </div> <div class="product-price"> <button class="btn btn-lg btn-primary" type="submit" class="shk-but">В корзину</button> </div> </form>

    Данные со "старой ценой" в корзину попадают нормально и выводится в нужном месте в плейсхолдере:
    [[+shk_price_old]]
    Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]]. Как сделать чтобы старая цена не выводилась в [[+addit_data]]? Или может я как то не правильно передаю MIGX-параметр в корзину ? Заранее спасибо.

    Читать далее
  • Фотографии, как я понял, это второй вопрос. Я по нему пока ничего не отвечал и не просил информации. Это не отменяет того, что в вашем конфиге есть ошибка, о которой я писал выше. Не нужно задавать разные вопросы в одной теме, чтобы не было путаницы.
    http://forum.modx-shopkeeper.ru/topic/15/рекомендации-по-оформлению-темы-с-вопросом

    Читать далее