diff --git a/src/Gmarche/views/antenne.twig b/src/Gmarche/views/antenne.twig index a39ec5e..a74e593 100644 --- a/src/Gmarche/views/antenne.twig +++ b/src/Gmarche/views/antenne.twig @@ -4,34 +4,75 @@ Ğ1-Marché - {{ region.name }} {% if page > 1 %} - Page {{ page }}{% endif %} {% endblock %} {% block body %} -
- -
- {% if region.name == 'Ile-de-France' %} - - {% endif %} + -
-
-
-
Antennes {{ region.name }} :
+ + -
- -
- {% if antennes %} - {{ paginate(antennes, 'gmarche.antenne', {slug: slug}) }} - {% endif %} {% endblock %} \ No newline at end of file diff --git a/src/Product/Actions/ProductIndexAction.php b/src/Product/Actions/ProductIndexAction.php index a57a376..d0899af 100644 --- a/src/Product/Actions/ProductIndexAction.php +++ b/src/Product/Actions/ProductIndexAction.php @@ -2,6 +2,7 @@ namespace App\Product\Actions; use App\Gmarche\Table\AntenneTable; +use App\Gmarche\Table\RegionTable; use App\Product\Table\ProductTable; use Framework\Actions\RouterAwareAction; use Framework\Renderer\RendererInterface; @@ -25,35 +26,35 @@ class ProductIndexAction public function __construct( RendererInterface $renderer, ProductTable $productTable, - AntenneTable $antenneTable + AntenneTable $antenneTable, + RegionTable $regionTable ) { $this->renderer = $renderer; $this->productTable = $productTable; $this->antenneTable = $antenneTable; + $this->regionTable = $regionTable; } - /*public function findAllUsers(): Query - { - return $this->userTable->makeQuery() - ->select('*') - ->where('id=1') - ->order('username ASC'); - }*/ + public function __invoke(Request $request) { $params = $request->getQueryParams(); $antenne_slug =$request->getAttribute('slug'); - // $region =$request->getAttribute('region'); + $region_slug =$request->getAttribute('region'); + $requete = $this->antenneTable->findBy('slug', $antenne_slug); $antenne_name = $requete->name; $antenne_id = $requete->id; - + $requete_region = $this->regionTable->findBy('slug', $region_slug); + $region_name = $requete_region->name; $page = $params['p'] ?? 1; //$routePrefix = 'product.admin'; - $routePrefix = 'product.admin'; + //$routePrefix = 'product.index'; $viewPath = '@product/admin/products'; $items = $this->productTable->findByAntenneId('antenne_id', $antenne_id)->paginate(20, $page); - - return $this->renderer->render($viewPath.'/index', compact('antenne_id','antenne_slug','antenne_name','routePrefix','viewPath', 'items' )); +//echo "antenne_ici"; +//var_dump($items); +//die(); + return $this->renderer->render($viewPath.'/index', compact('antenne_slug','region_name','region_slug','antenne_id','antenne_name','viewPath', 'items' )); } } diff --git a/src/Product/ProductModule.php b/src/Product/ProductModule.php index a0627cd..d919f7c 100644 --- a/src/Product/ProductModule.php +++ b/src/Product/ProductModule.php @@ -9,6 +9,8 @@ use Framework\Module; use Framework\Renderer\RendererInterface; use Framework\Renderer\TwigRenderer; use Framework\Router; +use Grpc\Server; +use GuzzleHttp\Psr7\ServerRequest; use Psr\Container\ContainerInterface; class ProductModule extends Module @@ -22,15 +24,30 @@ class ProductModule extends Module public function __construct(ContainerInterface $container) { - $productPrefix = $container->get('product.prefix'); - $gmarchePrefix = $container->get('gmarche.prefix'); + $gmarchePrefix = $container->get('gmarche.prefix'); $container->get(RendererInterface::class)->addPath('product', __DIR__ . '/views'); $router = $container->get(Router::class); + //$router->get("$gmarchePrefix/{region:[a-z\-0-9]+}/{antenne:[a-z\-0-9]+}", ProductIndexAction::class, 'product.index'); + //$router->get("$gmarchePrefix/{region:[a-z\-]+}/{slug:[a-z\-]+}", ProductIndexAction::class, 'product.ville'); + $router->get("$gmarchePrefix/{region:[a-z\-0-9]+}/{slug:[a-z\-0-9]+}/{antenne:[0-9]{1,}}", ProductIndexAction::class, 'product.ville'); - $router->get("/gmarche/{region:[a-z\-0-9]+}/{slug:[a-z\-0-9]+}/{antenne:[0-9]{1,}}", ProductIndexAction::class, 'product.index'); + // $router->get("$gmarchePrefix/{region:[a-z\-0-9]+}/{antenne:[a-z\-0-9]+}/{slug:[a-z\-0-9]+}", ProductIndexAction::class, 'product.admin'); + //$router->get("$gmarchePrefix/{region:[a-z\-0-9]+}/fuck/{antenne:[a-z\-0-9]+}", ProductIndexAction::class, 'product.index'); - $router->crud("/gmarche/{region:[a-z\-]+}/{slug:[a-z\-0-9]+}/{antenne:[0-9]{1,}}",[LoggedInMiddleware::class, ProductCrudAction::class],'product.admin'); + // $route = $router->match(new ServerRequest('GET','/gmarche/ile-de-france/paris/1')); + //$this->assertEquals(null, $route); + //echo 'var dump route'; + //var_dump($route); + //die(); + +// $router->get("$gmarchePrefix/{region:[a-z\-0-9]+}/{slug:[a-z\-0-9]+}", ProductIndexAction::class, 'product.index'); + //$router->get("$gmarchePrefix/ile-de-france/paris", ProductIndexAction::class, 'product.index'); + //echo "
var_dump"; +//var_dump($router); +//die(); + // $router->crud("$gmarchePrefix/{region:[a-z\-]+}/{slug:[a-z\-0-9]+}/{antenne:[0-9]{1,}}",[LoggedInMiddleware::class, ProductCrudAction::class],'product.admin'); } } +// $router->get("$gmarchePrefix/{region:[a-z\-0-9]+}/{slug:[a-z\-0-9]+}/{antenne:[0-9]{1,}}", ProductIndexAction::class, 'product.index'); diff --git a/src/Product/views/admin/products/index.twig b/src/Product/views/admin/products/index.twig index 98f0509..b39d9f1 100644 --- a/src/Product/views/admin/products/index.twig +++ b/src/Product/views/admin/products/index.twig @@ -34,8 +34,21 @@ text-align: right; padding-right: 2rem; } + .breadcrumb { + font-size: 1rem; + } + +

G-Marché de : {{ antenne_name }}

@@ -176,9 +189,9 @@ - + crochet% set token_input = csrf_input %crochet - - + paginate(items, routePrefix ~ '.index', {id: item.id, region: explodeUrl()[2], + slug: explodeUrl()[3], antenne: explodeUrl()[4]}) -->
{% endblock %} diff --git a/views/layout.twig b/views/layout.twig index 049d5f8..ca35e99 100644 --- a/views/layout.twig +++ b/views/layout.twig @@ -12,63 +12,77 @@ body { padding-top: 5rem; } + .page { + display: grid; + grid-template-rows:60px 50px 1fr 80px; + grid-template-columns: 1fr 1fr 1fr; + grid-template-areas: + "site site site" + "header header header" + "breadcrumbs breadcrumbs breadcrumbs" + "sidebar main main" + "footer footer footer"; + } + .site { + grid-column: 2 / 3; + } - - - - -
- {% if flash('success') %} -
- {{ flash('success') }} -
- {% endif %} - - - {% block body %}{% endblock %} - -
- - - - \ No newline at end of file