小编BNE*_*BNE的帖子

Sylius:如何在自定义 ProductRepository 中注入(请求)参数?

我想重写createByTaxonPaginator()方法,以便indexByTaxon()方法返回排序结果。该新方法应该使用Request来获取排序Get-Parameter。为了订购搜索结果,我找到了该服务并覆盖了该服务,如下所示:

sylius_search.repository:
    class: ShopBundle\Entity\SearchIndexRepository
    arguments: ['@doctrine.orm.entity_manager', '@sylius.repository.product', '@request_stack']
Run Code Online (Sandbox Code Playgroud)

也许这不是一个好的做法,我不知道。但它有效...不幸的是我没有找到 sylius.repository.product 的任何服务定义来查看所需的参数。

在我的配置中我有以下内容:

sylius_product:
    classes:
        product:
            model: ShopBundle\Entity\Product # My Own Entity
            controller: Sylius\Bundle\CoreBundle\Controller\ProductController
            repository: ShopBundle\Entity\ProductRepository
            # is there an option for injecting arguments?
            form:
                default: ShopBundle\Form\Type\ProductType
            translation:
                model: ShopBundle\Entity\ProductTranslation
                form:
                    default: ShopBundle\Form\Type\ProductTranslationType
Run Code Online (Sandbox Code Playgroud)

有没有一个选项可以注入我不知道的参数?这里的 Repo 扩展了默认的 Repo 并重载了方法createByTaxonPaginator()

 <?php

namespace ShopBundle\Entity;

use Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository as BaseProductRepository;
use Sylius\Component\Core\Model\TaxonInterface;

class ProductRepository extends BaseProductRepository
{

    /**
     * Create paginator for products categorized under given taxon.
     * …
Run Code Online (Sandbox Code Playgroud)

php service arguments symfony sylius

2
推荐指数
1
解决办法
1726
查看次数

标签 统计

arguments ×1

php ×1

service ×1

sylius ×1

symfony ×1