我在laravel中有很多ecommerces应用程序,这个电子商务使用来自另一个laravel应用程序(laravel_modules)的外部模块。
我的 ecommerce1 :
中有路线编辑产品Route::get('/edit/{article_name}/{article_id}', ['as' => 'edit_product', 'uses' => 'WebController@getEditProduct']);
我想用购物车行文章打印这条路线,问题是我在外部应用程序laravel_modules中迭代购物车行。
为此,我将路线('edit_product')从我的ecommerce1作为变量发送到laravel_modules应用中的'cart_widget'。
我使用空参数(空格),因为我没有来自ecommerce1 应用程序的方法控制器getCart中的购物车行:
public function getCart() {
$widget_params = array(
'url_edit' => route('edit_product',[' ',' ']), #not pass variables, only spaces
'css_type' => 'basic', # basic, flex, bootstrap
'js_ommited' => 'jquery_fancybox', # omited scripts
'css_ommited' => 'jquery_fancybox', # omited styles
);
// I make a request to http://laravel-modules/cart-widget and send this params
你关注我?,好的,现在我们去模块laravel app,方法getCartWidget获取这个$ widget_params,我在widget_cart.blade.php中打印$ url_edit变量并迭代购物车行:
@foreach ($cartlines as $line)
<!-- EDIT BTN -->
@if ($line['quantity'] != '-1')
@if ($is_modifiable)
<a class="btn_link edit" href="{{ $url_constructor }}?line_ref={{ $line['cart_line_id'] }}">
<i class="fa fa-pencil"></i>
</a>
@endif
@endif
<!-- //EDIT BTN -->
@endforeach
$ url_constructor打印http://ecommerce1.dev/edit/%20/%20
我想用我的购物车行变量替换%20(空格)
这样的事情:
<a class="btn_link edit" href="{{ str_replace('%20 and %20','with $line['article_name'] and $line['article_id']', $url_constructor) }}?line_ref={{ $line['cart_line_id'] }}">
<i class="fa fa-pencil"></i>
</a>
最后我想得到这个结果: http://ecommerce1.dev/edit/article-name/21 #articleid