我有一个动作可以将search
视图呈现为该网站中的上述搜索栏,因此它应该显示在每个视图中。
我不知道这样做的机制是什么。例如,如果我将搜索操作作为小部件进行,这将不好,因为搜索结果将显示在搜索小部件的相同位置(在网站顶部)。
那么,我怎样才能做出应该在网站的每个视图中显示的搜索操作?
为了在任何地方恢复相同的搜索功能,您需要创建一个小部件。我已经在小部件的工作原理中进行了简要说明,然后您可以将其附加到您想要的每个视图中。
如果你不知道如何开始,请查看:Yii ESearch
以下是一些有用的参考资料:
如果你想为每个视图添加一些东西,那么你应该将它添加到布局中。听起来你根本不需要使用小部件,尽管它可能有助于代码的可维护性。
您从未提到对 ajax 的要求,因此请保持简单,不要使用它。当有人输入搜索并单击提交(或按回车键)时,表单将提交到 SearchController。这样就不需要在每个控制器中都有搜索操作。
如果您特别希望在每个控制器中执行相同的操作,则创建一个具有该功能的 Controller 基类,并从它继承以创建所有其他控制器。