我正在尝试将翻译添加到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
答案 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紧密耦合。因为我必须引用所有类型的类,这些类没有使用资源包提供的默认类。