Я пытаюсь получить дочерний класс Sylius: VariableProductBundle: вариант в моем собственном пакете, следуя руководству here.Ошибка при переопределении Вариант класса в пользовательском пакете Sylius
Я создал новый пакет AcmeVariableProductBundle, который я получил из пакета SyliusVariableProduct через метод, описанный here.
После выполнения действия, описанные в документации Sylius для подмены модели, у меня есть следующее сообщение об ошибке:
Twig_Error_Runtime: An exception has been thrown during the rendering of a template ("The class 'Acme\Bundle\VariableProductBundle\Model\Variant' was not found in the chain configured namespaces Sylius\Bundle\CartBundle\Entity, FOS\UserBundle\Entity, Acme\Bundle\CatalogueBundle\Entity, Sylius\Bundle\SalesBundle\Model, Sylius\Bundle\MoneyBundle\Model, Sylius\Bundle\SettingsBundle\Model, Sylius\Bundle\CartBundle\Model, Sylius\Bundle\ProductBundle\Model, Sylius\Bundle\VariableProductBundle\Model, Sylius\Bundle\TaxationBundle\Model, Sylius\Bundle\ShippingBundle\Model, Sylius\Bundle\PaymentsBundle\Model, Sylius\Bundle\PromotionsBundle\Model, Sylius\Bundle\AddressingBundle\Model, Sylius\Bundle\InventoryBundle\Model, Sylius\Bundle\TaxonomiesBundle\Model, Sylius\Bundle\CoreBundle\Model, FOS\UserBundle\Model") in SyliusWebBundle:Frontend/Homepage:main.html.twig at line 2.
Мое определение класса выглядит следующим образом:
namespace Acme\Bundle\VariableProductBundle\Model;
use Doctrine\Common\Collections\ArrayCollection;
use Sylius\Bundle\VariableProductBundle\Model\Variant as BaseVariant;
class Variant extends BaseVariant
{
...
}
Я создал файл XML по адресу: Acme/Bundle/VariableProductBundle/Resources/config/doctrine/Variant.orm.xml Это выглядит так:
<?xml version="1.0" encoding="UTF-8" ?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<mapped-superclass name="Acme\Bundle\VariableProductBundle\Model\Variant" table="sylius_variant">
<field name="sku" column="sku" type="string" nullable="true" />
<field name="price" column="price" type="integer" />
<field name="onHand" column="on_hand" type="integer" />
<field name="availableOnDemand" column="available_on_demand" type="boolean"/>
<one-to-many field="images" target-entity="Sylius\Bundle\CoreBundle\Model\VariantImage" mapped-by="variant">
<cascade>
<cascade-all />
</cascade>`
</one-to-many>
</mapped-superclass>
</doctrine-mapping>
Записи для переменного продукта в приложении/конфигурационный файл/sylius.yml это:
sylius_variable_product:
classes:
variant:
model: Acme\Bundle\VariableProductBundle\Model\Variant
form: Sylius\Bundle\CoreBundle\Form\Type\VariantType
Может кто-нибудь сказать мне, что мне не хватает?