Coder Social home page Coder Social logo

yii2-yandex-market-yml's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

yii2-yandex-market-yml's Issues

какого вида должен быть массив picture

я сделал массив такого вида
public function getPicture($id){

        $goods=Gods::find()->where(['id'=>$id])->with('images')->one();
        $picturesarr=array();
        foreach ($goods->images as $image){
            $picturesarr[]=Yii::getAlias('@frontendWebroot').'image/'.$image->path.''.$image->name;
        }
        return $picturesarr;
    }

где $image->path (определеный путь к картинке от папки frontend/web, а $image->name название файла. Получил такого вида ошибку XMLWriter::writeElement(): Invalid Element Name если меняю $picturesarr[] на $picturesarr ошибки нет ?

Не подскажите как правильно оформить теги

появилась необходимость оформить следейщее
<param name="Размер">42-44</param><param name="Размер">0</param><param name="Размер">0</param><param name="Размер">0</param>
и тег не подскажите 1 как мне оформить param с атребутом и как добавить поле keyword

Еще одна ошибка

собствено вот окночание кода xml

</shop>
<head/>
</yml_catalog>

вот на это валидатор ругается

Недопустимое содержание было обнаружено, начиная с элемента "head".
Строка: 8 Позиция: 8
Подробнее
Invalid content was found starting with element 'head'. No child element is expected at this point.

собствено вот это если руками удаляю все принимает

<head/>

Ошибка валидации

/**
 * Элемент используется для отражения информации о минимальной сумме заказа, минимальной партии товара или необходимости предоплаты, а также для описания акций, скидок и распродаж.
 * Допустимая длина текста в элементе — 50 символов.
 * Необязательный элемент.
 *
 * @var string|null
 */
public $sale_notes;

Название аттрибута должно быть sales_notes.
https://yandex.ru/support/partnermarket/elements/sales_notes.html

Не отображется <offers/>в yml разметке

main.php

'YandexMarketYml' => [
            'class' => 'corpsepk\yml\YandexMarketYml',
            'enableGzip' => true, // default is false
            'cacheExpire' => 1, // 1 second. Default is 24 hours
            'categoryModel' => 'modules\category\models\Categories',
            'shopOptions' => [
                'name' => 'Site',
                'company' => 'LTD Site',
                'url' => 'https://site.ua',
                'currencies' => [
                    [
                        'id' => 'UAH',
                        'rate' => 1
                    ]
                ],
            ],
            'offerModels' => [
                ['class' => 'modules\product\models\Product'],
            ],
        ],

Model product:

use corpsepk\yml\behaviors\YmlOfferBehavior;
use corpsepk\yml\models\Offer;
$behaviors = [
            'ymlOffer' => [
                'class' => YmlOfferBehavior::className(),
                'scope' => function ($model) {
                    /** @var \yii\db\ActiveQuery $model */
                    $model->andWhere(['publish' => 1]);
                },
                'dataClosure' => function ($model) {
                    /** @var self $model */
                    return new Offer([
                        'id' => $model->id,
                        'url' => Url::home(true) . $model->slug, // absolute url e.g. http://example.com/item/1256
                        'price' => $model->price,
                        'currencyId' => 'UAH',
                    ]);
                }
            ]];

Подскажите, что делаю не так? Категории формирует, а вот товары в offers нет.

Ошибка валидации.

создал yml вашим расширением пробую пройти валидацию вот здесь. Валидатор выдает следующую ошибку

Строка: 110 Позиция: 50 
XML-файл не соответствует схеме.
Строка: 110 Позиция: 50
Подробнее
cvc-enumeration-valid: Value '1' is not facet-valid with respect to enumeration '[true, false]'. It must be a value from the enumeration.

и т.д. собствено вот сама эта строка
<offer id="13" type="vendor.model" available="1">
так у меня стоит приложении

return new Offer([
                           'id' => $model->id,
                           'available' => true,...

Согласно правилам в теге должно стоять available="true"
Неоднократно мною замечено, что все теги со значением true ваше приложение выдает как 1 и валидатор воспринимает как ошибку.

Роутинг не работает

Роутинг
['pattern'=>'market', 'route'=>'yml/default/index', 'suffix' => '.yml'],
не работает.
В чем может быть дело? Конфиги настроил.

Ещё вопрос но уже по категориям.

У товар есть несколько категорий к примеру кофты, большие размеры, спортивные веши.
попытался реализовать в моделе товар таким образом

'ymlOffer' => [
                'class' => YmlOfferBehavior::className(),
                'scope' => function ($model) {
                    /** @var \yii\db\ActiveQuery $model */
                    $model->with('category','addfeilds','prise','images');
                },
                'dataClosure' => function ($model) {
                    /** @var self $model */
                    foreach ($model->category as $category) {
                        return new Offer([
                                  ...
                                'categoryId' => $category->id,
                                  ...)]
                      }
                  }
];
выдает только товар один раз и только первой категории. Я так понимаю это гдето у Вас зашито? 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.