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 %}
-
-
-
-
Antennes {{ region.name }} :
+
+
+
-
-
- {% for antenne in antennes %}
-
- -
- {{ antenne.name }}
-
-
+
+
+
+

+
+ {% if region.name == 'Ile-de-France' %}
+
+ {% endif %}
+
+
+
+
+
+
Antennes {{ region.name }} :
+
+
+
+
+
+
- {% endfor %}
-
-
- {% 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;
+ }
-
-
-