Pim-community-dev: Добавление атрибутов в семью из> 20-й группы

Созданный на 20 апр. 2017  ·  9Комментарии  ·  Источник: akeneo/pim-community-dev

Это может быть связано с проблемой №6054.

Версия 1.7.3

При добавлении атрибутов к семейству атрибутов любой атрибут, который находится в> 20-й группе атрибутов в системе по sort_order, дает сбой и вызывает ошибку javascript.

attributes.js:109 Uncaught TypeError: Cannot read property 'sort_order' of undefined at child.<anonymous> (attributes.js:109) at underscore.js:380 at Function._.map._.collect (underscore.js:172) at Function._.sortBy (underscore.js:376) at child.<anonymous> (attributes.js:108) at Array.<anonymous> (jquery-1.10.2.js:3204) at fire (jquery-1.10.2.js:3048) at Object.add [as done] (jquery-1.10.2.js:3094) at Array.<anonymous> (jquery-1.10.2.js:3203) at Function.each (jquery-1.10.2.js:657)

В качестве примера:

screen shot 2017-04-20 at 8 25 05 am

Вот дамп данных из pim_catalog_attribute_group

screen shot 2017-04-20 at 8 31 44 am

Спасибо!

bug has-PR

Самый полезный комментарий

Привет, @adamrandazzo , эта проблема исправлена ​​в версии 1.7.5, выпущенной в пятницу!
Спасибо

Все 9 Комментарий

Изменение FETCH_LIMIT в следующем файле устраняет проблему, но я не хочу создавать запрос на перенос, поскольку не уверен в других последствиях для системы. https://github.com/akeneo/pim-community-dev/blob/494b2c108427556e2818a3c2f18ede40b585c144/src/Akeneo/Component/StorageUtils/Repository/SearchableRepositoryInterface.php

Привет, @adamrandazzo , спасибо за отзыв, наша

Привет.
У нас такая же проблема.
Проблема находится в онтроллере Pim \ Bundle \ EnrichBundle \ Controller \ Rest \ AttributeGroupC : 76.

if (empty($options)) {
    $options = $request->request->get(
        'options',
        [
            'limit' => SearchableRepositoryInterface::FETCH_LIMIT,
            'locale' => null,
        ]
    );
}

Приложение javascript запрашивает группы атрибутов для этого контроллера.
Ожидается получение ВСЕХ групп атрибутов, но контроллер ограничивает результат до 20 элементов, если параметр limit не установлен.

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

Ожидая исправления этой ошибки, я расширил и заменил AttributeGroupController, применив обходной путь.

<?php

namespace Idrolab\Bundle\BugfixBundle\Enrich\Controller\Rest;

use Symfony\Component\HttpFoundation\Request;
use Pim\Bundle\EnrichBundle\Controller\Rest\AttributeGroupController as BaseAttributeGroupController;

class AttributeGroupController extends BaseAttributeGroupController
{
    public function indexAction(Request $request)
    {
        // In this way I avoid it will set the default limit of 20 items because the js app expects all items
        $options = $request->request->get('options', [
            // 'limit' => SearchableRepositoryInterface::FETCH_LIMIT,
            'locale' => null,
        ]);
        $request->request->set('options', $options);        
        return parent::indexAction($request);
    }
}

Надеюсь, это поможет.

Привет, @adamrandazzo , спасибо за отзыв.

Меня действительно интересует пул-реквест @ danielsan80, но прежде, чем я подумаю, как мы должны это исправить (со стороны внешнего или внутреннего интерфейса), следует обсудить с @SamirBoulil.

С уважением,

@mickaelandrieu Что-то меня помнит, я уже исправлял это где-то в PIM-6196 https://github.com/akeneo/pim-community-dev/pull/5957

Этот вопрос должен быть урегулирован в SLA PIM-6416. Я даже создал PR, чтобы исправить это, но @ a2xchip уже

@LaurentPetard , @ a2xchip спасибо за пояснения, тогда я связываю запрос на

Я закрываю этот вопрос, потому что связанный PR был объединен!
Не стесняйтесь открывать его повторно, если это не соответствует вашим потребностям;)

С Уважением !
Пьер

Привет, @adamrandazzo , эта проблема исправлена ​​в версии 1.7.5, выпущенной в пятницу!
Спасибо

Была ли эта страница полезной?
0 / 5 - 0 рейтинги