3. 创建一个维护的存储过程通过填充Community_PageTypes和Community_NamedPages表来初始化FAQ模块,
4. 创建一个FaqInfo的类保存一条FAQ的信息,
5. 创建一个FaqUtility的类通过访问数据库来调用前面创建的与FAQ相关的存储过程,
6. 创建从WebControl继承的控件显示不同的字段,这些控件叫做FaqQuestion,FaqInro,FaqAnswer,FaqReference和FaqEditContent
7. 创建从SkinnedCommunityControl继承的类来包含下一步创建的显示页面背后的逻辑。这些类叫做AddFaq,EditFaq,FaqSection,和Faq
8. 创建新模块使用的内容显示页面,包括有Faqs_AddFaq.ascx,Faqs_FaqSection.ascx和Faq_Faq.ascx。我们将使用Faqs_AddFaq增加和编辑FAQ。另外你还要在Communityes\Common\Themes\Defalult\Skins\ContentSkins目录下创建默认界面文件,例如Robotics和Professional的主题。
9. 创建定义该模块页面风格的CSS文件和主题相关的CSS文件,并放到Communities\Common\Themes\Defalult\Styles。
下面将对每一个步骤作详细的解释。
大部分模块共有的信息如标题、描述和浏览计数放在Community_ContentPages表中。针对该FAQ模块的附加信息则需要另加一个表存放。例如,我们可以把FAQ的问题放在Page_title字段中,FAQ的介绍放在Page_description字段.另外,我们还需要存放FAQ的答案和附加的参考索引等信息,所以还要创建下面的表:
CREATE TABLE [Community_Faqs] (
[Faq_ContentPageID] [int] NOT NULL ,