【问题标题】:How is slug being created in Sylius?在 Sylius 中如何创建 slug?
【发布时间】:2015-09-24 05:46:33
【问题描述】:

我想在 Sylius 中创建新产品。我刚刚测试过:

$user = $this->getUser();
    $repository = $this->container->get('sylius.repository.product');
    $manager = $this->container->get('sylius.manager.product'); // Alias for appropriate doctrine manager service.

    $product = $repository->createNew();

    $product
        ->setName('Test product')
        ->setDescription('Des Product 2')
        ->setPrice(90)
        ->setUser($user)    
    ;

    $manager->persist($product);
    $manager->flush(); // Save changes in database.

但它会触发 slug 的异常。当我尝试 $product->getSlug() 时,它返回空。我不知道 slug 是如何在 Sylius 中创建的,代码在哪里?

【问题讨论】:

    标签: slug sylius


    【解决方案1】:

    这是gedmo:slug,请查看ProductBundle\Resources\config\doctrine\model\ProductTranslation.orm.xml

    确保您已配置默认语言环境并将其添加到您的代码中:

          $product->setCurrentLocale($locale);
          $product->setFallbackLocale($locale);
    

    产品是可翻译的,我认为这就是你所缺少的。

    在Sylius\Bundle\FixturesBundle\DataFixtures\ORM\LoadProductsData 第 404 行检查产品是如何创建的。

    【讨论】:

      猜你喜欢
      • 2010-10-24
      • 2016-12-05
      • 2011-01-11
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      • 2020-01-01
      • 2018-08-12
      相关资源
      最近更新 更多