Esto puede estar relacionado con el problema # 6054
Versión 1.7.3
Al agregar atributos a una familia de atributos, cualquier atributo que esté en el grupo de atributos> 20 en el sistema por sort_order falla y arroja un error de 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)
Como ejemplo:
Aquí está el volcado de datos de pim_catalog_attribute_group
¡Gracias!
Cambiar FETCH_LIMIT en el siguiente archivo soluciona el problema, pero no quiero crear una solicitud de extracción porque no estoy seguro de otras implicaciones en el sistema. https://github.com/akeneo/pim-community-dev/blob/494b2c108427556e2818a3c2f18ede40b585c144/src/Akeneo/Component/StorageUtils/Repository/SearchableRepositoryInterface.php
Hola @adamrandazzo , gracias por este comentario, nuestro equipo de soporte lo revisará y lo mantendrá actualizado :)
Hola.
Tenemos el mismo problema.
El problema está en Pim \ Bundle \ EnrichBundle \ Controller \ Rest \ AttributeGroupC ontroller: 76.
if (empty($options)) {
$options = $request->request->get(
'options',
[
'limit' => SearchableRepositoryInterface::FETCH_LIMIT,
'locale' => null,
]
);
}
La aplicación javascript solicita los grupos de atributos de este controlador.
Espera recuperar TODOS los grupos de atributos, pero el controlador limita el resultado a 20 elementos si no se establece el parámetro 'límite'.
Creo que la aplicación javascript debería saber que el resultado está paginado y debería hacer varias llamadas http para recuperar todos los grupos de atributos.
A la espera de la corrección de este error, extendí y reemplacé el AttributeGroupController aplicando una solución.
<?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);
}
}
Espero que pueda ayudar.
Hola @adamrandazzo , gracias por tus comentarios.
Estoy realmente interesado en una solicitud de extracción @ danielsan80, pero antes de pensar en la forma en que deberíamos solucionarlo (desde el lado de la interfaz o el lado del backend) debería discutirse con @SamirBoulil.
Saludos,
@mickaelandrieu Algo me recuerda que ya lo estaba arreglando en algún lugar de PIM-6196 https://github.com/akeneo/pim-community-dev/pull/5957
Este problema debe tratarse en el SLA PIM-6416. Incluso había creado un PR para arreglar esto, pero @ a2xchip ya lo había
@LaurentPetard , @ a2xchip gracias por las explicaciones, vinculo la solicitud de extracción al problema entonces :)
¡Cierro este problema porque se fusionó el PR vinculado!
No dude en volver a abrirlo si no se ajusta a sus necesidades;)
Saludos !
Pierre
Hola @adamrandazzo , ¡este problema se solucionó en la versión 1.7.5 lanzada el viernes!
Gracias
Comentario más útil
Hola @adamrandazzo , ¡este problema se solucionó en la versión 1.7.5 lanzada el viernes!
Gracias