javascript - Akeneo:以编程方式选择网格过滤器

标签 javascript datagrid akeneo

我们的用户可以将其他产品作为关联添加到产品中。对于我们的大多数关联类型,在网格中显示所有产品没有意义,它们应该只选择一个系列中的产品。

用户可以在 Akeneo GUI 中按系列过滤产品,但如果以编程方式选择过滤器,工作量会减少并使我们的数据更加一致。

我会像这样修改 Pim/Bundle/EnrichBundle/Resources/views/Association/_associations.html.twig 中的代码:

var changeAssociation = function (associationId) {
    var $idField = $('#pim_product_edit_associations').find('input[type="hidden"][value="' + associationId + '"]');

    // 4 is an association example id where only one family should be displayed
    if(associationId == 4) {
        // TODO: Filter family in the product grid 
        // mediator.trigger('datagrid:???:' dataGrids.product.name);
    }

如何在 Javascript 中更改产品网格的过滤器?

或者是否有更好的方法来实现我的目标?

最佳答案

这个网格的配置位于here (EnrichBundle/Resources/config/datagrid/association_product.yml)。您可以自定义 source.repository_method 参数以在 product repository 中使用您的自定义查询。 (例如 createAssociationDatagridQueryBuilderWithFamily)。当产品传递到此存储库方法时,您将能够检索它的系列。

这是第一步,但您似乎只想对特定产品执行此操作。

两种解决方案:

  • 你在存储库方法中决定(因为你有产品,你可以决定是否过滤它的系列)
  • 您决定模板:在这种情况下,您可以创建关联网格的副本(在 association_product.yml 文件的末尾,您可以复制第一个网格配置并重命名它( association-with-family-product-grid 例如)。然后在你的模板中,你可以加载一个或另一个(网格选项是 here )。

不要忘记在数据网格配置操作后清除缓存,一切顺利!

关于javascript - Akeneo:以编程方式选择网格过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32089803/

相关文章:

datagrid - Silverlight DataGrid 设置 ItemSource/DataContext 时自动选择,排序,

c# - 如何在数据网格初始化时将 WPF 数据网格的 SortDirection 设置为升序

php - 如何添加过滤器以便 API 调用仅返回我想要的结果?

javascript - 替换 jQuery 中的类

javascript - jQuery 替换 Node+jade 组合中的 Span

javascript - 如何在 Eclipse 控制台中运行 script.js?

javascript - 使用 JavaScript 进行 SVG 裁剪

c# - DataGrid Wpf 中的 CSV/文本

akeneo - 从命令行重置 Akeneo 管理员密码?

ubuntu - Akeneo 未加载