Generování routy id-nazev-produktu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- batko
- Člen | 219
Ahoj,
opravdu jsem hledal, ale nenašel :(
mám
<?php
$products = [1 => "produkt1",2 => "produkt2"];
$router[] = new Route('[<locale=cs cs|en>/]offer/<id>', [
"module" => "Front",
"presenter" => "ProductShow",
"action" => "detail",
"id" => array(
Route::FILTER_OUT => function ($id) use ($products) {
return $id;
},
Route::FILTER_IN => function ($id) use ($products) {
return array_search($id, $products);
}
),
]);
?>
a potřebuji aby mi aplikace generovala a brala routy
domena/offer/1-produkt1
domena/offer/2-produkt2
Nedaří se mi tam dostat tu část -produkt1
- Oli
- Člen | 1215
"id" => array(
Route::FILTER_OUT => function ($id) use ($products) {
if (is_numeric($id)
{
return $id . '-' . $products[$id];
}
return $id;
},
Route::FILTER_IN => function ($id) use ($products) {
if (is_numeric($id))
{
return $id;
}
$splited = Strings::split($id, '-');
return array_search($splited[0], $products);
}
),
A nebo naopak. Vždycky se mě plete co je IN a co OUT :)
Píšu to z hlavy, takže nevím jestli to je uplně správně, ale snad tě to aspoň nakopne správným směrem :-)
Editoval Oli (13. 6. 2016 22:03)