group(function () { Route::get('product/form/{element}', 'ProductAPIController@form'); Route::resource('product', 'ProductAPIController'); }); // Public routes for product Route::get('products/', 'ProductPublicController@index'); Route::get('products/{slug?}', 'ProductPublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for products Route::prefix('{guard}/product')->group(function () { Route::get('product/form/{element}', 'ProductAPIController@form'); Route::apiResource('product', 'ProductAPIController'); }); // Public routes for products Route::get('product/Product', 'ProductPublicController@getProduct'); } ); } // API routes for category Route::prefix('{guard}/product')->group(function () { Route::get('category/form/{element}', 'CategoryAPIController@form'); Route::resource('category', 'CategoryAPIController'); }); // Public routes for category Route::get('products/', 'CategoryPublicController@index'); Route::get('products/{slug?}', 'CategoryPublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for products Route::prefix('{guard}/product')->group(function () { Route::get('category/form/{element}', 'CategoryAPIController@form'); Route::apiResource('category', 'CategoryAPIController'); }); // Public routes for products Route::get('product/Category', 'CategoryPublicController@getCategory'); } ); }