bestit / commercetools-listing-slug-router-bundle
A cmf router matching the slug to a found commercetools slug.
Installs: 9 044
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 5
Requires
- php: ^7.0
- commercetools/php-sdk: ^1.5 || ^2.0
- symfony-cmf/routing: ^2.0
- symfony/config: ^3.1
- symfony/dependency-injection: ^3.1
- symfony/http-kernel: ^3.1
- symfony/yaml: ^3.1
Requires (Dev)
- bestit/php_codesniffer: ^1 || ^2 || ^3.1
- matthiasnoback/symfony-dependency-injection-test: ^1|^2
- phpunit/phpunit: ^5.5|^6
- symfony/phpunit-bridge: ^3.0
- dev-master
- 0.6.0
- 0.5.0
- 0.4.1
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.0
- 0.1.0
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.8
- dev-dependabot/composer/guzzlehttp/psr7-1.8.5
- dev-dependabot/composer/symfony/http-foundation-4.4.10
- dev-dependabot/composer/symfony/phpunit-bridge-3.4.26
- dev-dependabot/composer/symfony/dependency-injection-3.4.26
- dev-feature/CTPBH-2503
- dev-DEVHEADS-8/features-style
This package is auto-updated.
Last update: 2024-11-21 22:42:01 UTC
README
This router loads a category matching the given request uri to categories slugs. It utilizes the cmf routing package heavily and registers the provided listing router as a chained cmf router through the service tag "router".
Install it
$ composer require bestit/commercetools-listing-slug-router-bundle
Configuration
#!yaml
best_it_ct_listing_slug_router:
# Which controller-method should be used on a positive match?
controller: 'BestIt\Frontend\ListingBundle\Controller\ListingController::indexAction'
# Which priority has this router in the cmf chaining?
priority: 0
# Service id for the repositry loading categories with their slug. You should fulfill the provided interface.
repository: ~
# Which route name is used for a positive match?
route: best_it_frontend_listing_listing_index
Generate route
Just use the standard symfony path
function in twig for generating routes. It requires the route name as name and the param slug
with the seo url.
Additional arguments will be passed as query.
Example:
{# /apple #}
{{ path('best_it_frontend_listing_listing_index', {'slug' => 'apple') }}
{# /apple?page=1&view=list #}
{{ path('best_it_frontend_listing_listing_index', {'page' => 1, slug' => 'apple', 'view' => 'list') }}
Further ToDos
- The lib folder could be moved to a separate repo.