Creating a Simple Search Page

DEX450 - Module 18: Working with List Controllers and SOSL Queries

📄 第 491 页 🎬 视频课程

课程章节介绍

同学们,今天我们来学习如何在Salesforce中创建一个简单的搜索页面。这个页面的功能是让用户能够在联系人对象的所有文本字段中进行搜索,并将搜索结果以表格的形式展示出来。 首先,我们需要明确几个关键点: 1. ,对象选择,:我们选择的是“联系人”对象,这是Salesforce中常用的标准对象之一。 2. ,搜索字段,:我们需要搜索联系人对象上的所有文本字段。这意味着我们需要动态地获取这些字段,而不是硬编码。 3. ,结果显示,:搜索结果需要以表格的形式展示,这样用户可以一目了然地看到相关信息。 接下来,我们一步步来实现这个功能。 ### 第一步:创建Visualforce页面 我们首先需要创建一个Visualforce页面。Visualforce是Salesforce提供的一种用于构建用户界面的框架。 ```apex ``` 在这个页面中,我们有一个输入框用于输入搜索关键词,一个按钮用于触发搜索操作,以及一个表格用于展示搜索结果。 ### 第二步:创建Apex控制器 接下来,我们需要创建一个Apex控制器来处理搜索逻辑。 ```apex public class ContactSearchController { public String searchKeyword { get; set; } public List searchResults { get; set; } public ContactSearchController() { searchResults = new List(); } public void search() { if (String.isNotBlank(searchKeyword)) { String searchQuery = 'FIND :searchKeyword IN ALL FIELDS RETURNING Contact(Id, Name, Email, Phone)'; List> searchList = search.query(searchQuery); searchResults = (List) searchList[0]; } else { searchResults.clear(); } } } ``` 在这个控制器中,我们定义了一个`searchKeyword`属性来存储用户输入的关键词,以及一个`searchResults`列表来存储搜索结果。`search`方法使用Salesforce的SOSL(Salesforce Object Search Language)来在所有文本字段中搜索联系人,并将结果存储在`searchResults`中。 ### 第三步:测试和部署 最后,我们需要测试这个页面,确保它能够正常工作。你可以在Salesforce的开发者控制台中预览这个页面,输入关键词并点击搜索按钮,看看是否能正确返回结果。 如果一切正常,你就可以将这个页面部署到生产环境中,供用户使用了。 ### 总结 通过以上步骤,我们成功创建了一个简单的搜索页面,用户可以在联系人对象的所有文本字段中进行搜索,并以表格的形式查看结果。这个页面虽然简单,但涵盖了Visualforce页面的创建、Apex控制器的编写以及SOSL的使用,是学习Salesforce开发的一个很好的起点。 希望这个讲解对你们有所帮助,如果有任何问题,欢迎随时提问!