我不确定这是一个Laravel问题还是一个基本的PHP问题。
我们有一个由许多微站点组成的网站。功能是在所有微站点之间共享的,真正不同的是每个微站点的外观和感觉。
在我们的结构中,我们有一个名为HierarchyController的控制器,每个微站点都使用它。您可能会收集到,此控制器负责获取您当时正在查看的任何微站点的页面层次结构。控制器类似于以下内容
Class HierarchyController extends BaseController
{
public function index(Request $request)
{
... do some stuff ...
$page_data = [
'something' => 'something_else',
];
return view('common.pages.hierarchy', $page_data);
}
}到目前为止没什么难的。但是现在我需要的是HierarchyController,因为只有少数微站点可以包含它们自己的属性以及来自HierarchyController的属性。我想我可以创建一个特定于微站点的HierarchyController,它扩展了上面的主控制器。类似于:
Class MicrositeHierarchyController extends HierarchyController
{
public function index(Request $request)
{
parent::index($request);
$page_data = array_merge(--parent_page_data--, [
'something1' => 'something_else_1',
]);
return view('microsite.pages.hierarchy', $page_data);
}
}因为父HierarchyController返回一个视图,而不是一个数组,所以我不确定如何从调用类获得$page_data。这有可能吗?
谢谢
发布于 2019-02-26 19:22:41
您可以捕获父控制器返回的视图,并对其数据执行合并。
class MicrositeHierarchyController extends HierarchyController
{
public function index(Request $request)
{
$view = parent::index($request);
$page_data = array_merge($view->getData(), [
'something1' => 'something_else_1',
]);
return view('microsite.pages.hierarchy', $page_data);
}
}https://stackoverflow.com/questions/54892504
复制相似问题