如何将翻译类/模型添加到现有的Sylius模型?

时间:2016-11-14 16:09:02

标签: sylius

我正在尝试将翻译添加到Sylius'产品变体模型,但在配置资源时遇到一些问题。

在处理自定义模型时,很容易添加翻译类,只需使用正确的接口创建必要的类,然后将它们包含在资源配置文件中,如下所示:

# resources.yml
app.orientation:
            driver: doctrine/orm
            classes:
                model: AppBundle\Entity\Orientation\Orientation
            translation:
                classes:
                    model: AppBundle\Entity\Orientation\OrientationTranslation

我已经为产品变体添加了必要的类,并自定义了产品变体以使其可翻译。最后一步是激活翻译类(在这种情况下只有模型)。问题是,当我尝试将模型添加到我的config.yml时,我收到以下错误:

  

无法识别的选项"翻译"下   " sylius_product.resources.product_variant"

那么我应该如何启用产品变体模型的翻译呢?

配置参考:

# config.yml
sylius_product:
    resources:
        product_variant:
            classes:
                factory: AppBundle\Factory\Product\ProductVariantFactory
                model: AppBundle\Entity\Product\ProductVariant
                form:
                    default: AppBundle\Form\Type\Product\ProductVariantType
            translation:
                classes:
                    model: AppBundle\Entity\Product\ProductVariantTranslation

2 个答案:

答案 0 :(得分:0)

vendor/sylius/sylius/src/Sylius/Bundle/ProductBundle/DependencyInjection/Configuration.php文件中没有“转换”条目。 这就是你得到这个错误的原因。

我想你只需要在sylius_resource部分定义你的翻译类

    sylius_resource:
        app.product:
            translation:
                classes:
                    model: AppBundle\Entity\ProductTranslation

答案 1 :(得分:0)

根据@ylastapis的评论,我提出了以下解决方案:

BufferedImage source = // A TYPE_BYTE_GRAY image
BufferedImage result = new BufferedImage(source.getWidth(), source.getHeight(), BufferedImage.TYPE_BYTE_GRAY) ;

try {
    for (int y=1 ; y < height-1 ; y++)
        for (int x=0 ; x < width-1; x++)
            {
            int sum = 0 ;
            for (int i=-1 ; i <= 1 ; i++)
                for (int j=-1 ; j <= 1 ; j++)
                    sum += source.getRaster().getSample(x, y, 0) * Kernel[i+1][j+1] ;
            result.getRaster().setSample(x, y, 0, sum) ;
            }
    }
catch (Exception e)
    {
    e.printStackTrace() ;
    }

我在resources.yml文件中输入了其他自定义资源。该解决方案的一个明显缺点是它与ProductVariant紧密耦合。因为我必须引用所有类型的类,这些类没有使用资源包提供的默认类。