Это может быть связано с проблемой №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)
В качестве примера:
Вот дамп данных из pim_catalog_attribute_group
Спасибо!
Изменение 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, выпущенной в пятницу!
Спасибо
Самый полезный комментарий
Привет, @adamrandazzo , эта проблема исправлена в версии 1.7.5, выпущенной в пятницу!
Спасибо