Skip to content

Commit a1205ec

Browse files
committed
support candidates limit
1 parent b6729db commit a1205ec

File tree

6 files changed

+8
-2
lines changed

6 files changed

+8
-2
lines changed

DependencyInjection/CmfRoutingExtension.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ private function setupDynamicRouter(array $config, ContainerBuilder $container,
100100
$container->setParameter($this->getAlias() . '.dynamic.locales', $locales);
101101
$container->setParameter($this->getAlias() . '.dynamic.auto_locale_pattern', $config['auto_locale_pattern']);
102102
}
103+
$container->setParameter($this->getAlias() . '.dynamic.limit_candidates', $config['limit_candidates']);
103104

104105
$loader->load('routing-dynamic.xml');
105106

DependencyInjection/Configuration.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ public function getConfigTreeBuilder()
131131
->arrayNode('locales')
132132
->prototype('scalar')->end()
133133
->end()
134+
->scalarNode('limit_candidates')->defaultValue(20)->end()
134135
->booleanNode('match_implicit_locale')->defaultValue(true)->end()
135136
->booleanNode('auto_locale_pattern')->defaultValue(false)->end()
136137
->end()

Doctrine/Phpcr/PrefixCandidates.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,11 @@ class PrefixCandidates extends Candidates
5050
* $locales. This must be the same
5151
* document manager as the RouteProvider
5252
* is using.
53+
* @param int $limit Limit to candidates generated per prefix.
5354
*/
54-
public function __construct(array $prefixes, array $locales = array(), ManagerRegistry $doctrine = null)
55+
public function __construct(array $prefixes, array $locales = array(), ManagerRegistry $doctrine = null, $limit = 20)
5556
{
56-
parent::__construct($locales);
57+
parent::__construct($locales, $limit);
5758
$this->setPrefixes($prefixes);
5859
$this->doctrine = $doctrine;
5960
}

Resources/config/provider-orm.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
<service id="cmf_routing.orm_candidates" class="%cmf_routing.orm_candidates.class%">
2121
<argument>%cmf_routing.dynamic.locales%</argument>
22+
<argument>%cmf_routing.dynamic.limit_candidates%</argument>
2223
</service>
2324

2425
<service id="cmf_routing.route_provider" class="%cmf_routing.route_entity_provider%">

Resources/config/provider-phpcr.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
<argument>%cmf_routing.dynamic.persistence.phpcr.route_basepaths%</argument>
2626
<argument>%cmf_routing.dynamic.locales%</argument>
2727
<argument type="service" id="doctrine_phpcr"/>
28+
<argument>%cmf_routing.dynamic.limit_candidates%</argument>
2829
<call method="setManagerName"><argument>%cmf_routing.dynamic.persistence.phpcr.manager_name%</argument></call>
2930
</service>
3031

Tests/Unit/DependencyInjection/ConfigurationTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public function testSupportsAllConfigFormats()
7171
'uri_filter_regexp' => '',
7272
'route_filters_by_id' => array(),
7373
'locales' => array('en', 'fr'),
74+
'limit_candidates' => true,
7475
'auto_locale_pattern' => true,
7576
'match_implicit_locale' => true,
7677
),

0 commit comments

Comments
 (0)