如何将变量传递给Zend 3字段集?
我有一个使用数据库表填充的下拉列表,但是我需要get请求中的产品ID以仅显示该产品可用的选项吗?
答案 0 :(得分:0)
我通过从fildset工厂请求'router'和'request'对象来解决此问题,以从url获取参数,然后将其传递给fildset。这是代码;
namespace Catalog\Form\Factory;
use Interop\Container\ContainerInterface;
use Zend\ServiceManager\Factory\FactoryInterface;
use Catalog\Form\ProductBrandingOptionPricesFieldset;
class ProductBrandingOptionPricesFieldsetFactory implements FactoryInterface
{
public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
$entityManager = $container->get('doctrine.entitymanager.orm_default');
$router = $container->get('router');
$request = $container->get('request');
// Get the router match
$productId = $router->match($request)->getParam("id");
// Instantiate the controller and inject dependencies
return new ProductBrandingOptionPricesFieldset($entityManager,$productId);
}
}