我有一个动作,让search
视图作为此网站上面的搜索栏进行搜索,因此应该在每个视图中显示。
我不知道这样做的机制是什么。例如,如果我将搜索操作设置为小部件,这将不会很好,因为搜索结果将显示在搜索小部件的相同位置(位于网站顶部)。
那么,我如何制作应该在网站的每个视图中显示的搜索操作?
答案 0 :(得分:1)
为了在任何地方恢复相同的搜索功能,您需要创建一个小部件。 我已在How a widget works中简要解释过,然后您可以将其附加到您想要的每个视图中。
如果您不想开始,请查看:Yii ESearch
以下是一些有用的参考资料:
how-to-use-a-widget-as-an-action-provider
答案 1 :(得分:1)
如果要在每个视图中添加内容,则应将其添加到布局中。根据它的声音,您根本不需要使用小部件,尽管它可能有助于代码可维护性。
您从未提及对ajax的要求,因此请保持简单并且不要使用它。当有人输入搜索并单击提交(或按回车)时,表单将提交给SearchController。这样就不需要在每个控制器中进行搜索操作。
如果您特别希望在每个控制器中执行相同的操作,则在其中创建一个包含该功能的Controller基类,并从中继承以创建所有其他控制器。