代码之家  ›  专栏  ›  技术社区  ›  Neha

Symfony2.8 with sonataEcommerce2.1.1 single Product page“要求您为“$Product”参数提供一个值”

  •  0
  • Neha  · 技术社区  · 6 年前

    我正在使用sonata电子商务。当我尝试打开单个产品页面时,发生控制器错误。 下面是详细的错误。 “Application\Sonata\ProductBundle\Controller\ProductController::viewAction()”要求您为“$product”参数提供一个值(因为没有默认值,或者因为在此参数之后有一个非可选参数)。

    enter image description here

    1 回复  |  直到 6 年前
        1
  •  0
  •   Neha    5 年前

    无需更改扩展。 这是我的代码:- 从供应商/sonata项目/电子商务/ProductBundle/controller/Basecontroller复制viewAction,并将其放置在src/Application/sonata/controller/ProductController中。 复制后,在ApplicationSonataProductBundle中分配$product=null。

    public function viewAction($product = null) { 
        //Add these lines. 
        $slug = $this->getRequest()->get('slug'); 
        $productId = $this->getRequest()->get('productId'); 
        $product = $this->get('sonata.product.set.manager')->findEnabledFromIdAndSlug($productId, $slug);
    ....
    }