Issue
I created a parameter in my parameters.yml
file:
parameters:
category:
var: test
How can I access this parameter in my config.yml
? For example, I want to pass this parameter to all my twig files as a global twig variable:
twig:
globals:
my_var: %category.var% # throws ParameterNotFoundException
Solution
In all the symfony config files I've seen, the entries under 'parameters:' have always been fully qualified. I don't fully understand why this is but it may help you to write the entries in your parameters.yml like this:
category1.var1: xxx
category1.var2: yyy
category1.var3. zzz
category2.subcategory1.var1: 5
category2.subcategory1.var2: 10
category2.subcategory2.var1: foo
category2.subcategory2.var2: bar
... and so on.
EDIT
I tried pasting the nested parameter from the question into parameters.local.yml in one of my projects and ran a trivial unit test to retrieve that and a fully qualified parameter from the container e.g.
$testUserEmail = $container->getParameter('test.user.email');
$this->assertEquals('dahlia.flower@randomtest.com', $testUserEmail);
$testParam = $container->getParameter('category.var');
$this->assertEquals('test', $testParam);
The fully qualified parameter was fine, attempting to get the nested parameter resulted in an InvalidArgumentException
: The parameter category.var
must be defined. I don't think parameters can be defined with nesting.
Answered By - redbirdo
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.