如何以编程方式在Sylius Framework上以价格创建产品?
以下是我创建产品的方法:
$factory = $this->container->get('sylius.factory.product');
$manager = $this->container->get('sylius.manager.product');
$product = $factory->createNew();
$product
->setName('FOO - '.$title);
$product->setCode($this->generateRandomString());
$product->setSlug($this->generateRandomString());
$manager->persist($product);
$manager->flush();
当我尝试附上价格时,会出现错误:
尝试调用名为" setPrice"的未定义方法。类" Sylius \ Component \ Core \ Model \ Product"。
对于没有价格的产品,我甚至无法在管理界面中设置价格,没有字段。
我认为它与"简单产品" VS"可配置产品"差异。当我从管理界面创建简单产品时,我可以修改价格:
如何以编程方式创建简单产品而非可配置产品
答案 0 :(得分:0)
快速浏览一下Sylius源代码,看起来定价是在ChannelPricing类中管理的。因此,您需要创建一个ChannelPricing对象。
更多信息: http://docs.sylius.org/en/latest/book/products/pricing.html