`
langzhe
  • 浏览: 286416 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用zotonic 实现 contact

 
阅读更多

Why-Assumptions-How-Troubleshooting

留言发送mail

1、首先配置 dispatch 这里应该是webmachine(还没具体看), 在此确定了url和模板

 

{contact_url, ["contact"], resource_template, [ {template, "contact.tpl"} ]},

 

2、创建模板,添加适当的内容即可。这里的wire很关键,目前还完全明白。 

注意delegate="resource_default_contact",这个与下面的 resource_default_conatact对应

{% wire id="contact-form" type="submit" postback={contact} delegate="resource_default_contact" %}
<form id="contact-form" method="post" action="postback">
 <label for="name">Name</label>
 <input type="text" name="name" id="name" />
 <label for="email">E-mail</label>
 <input type="text" name="mail" id="mail" />
 {% validate id="mail" type={presence} type={email} %}
 <label for="message">Message</label>
 <textarea name="message" id="message" cols="60" rows="8"></textarea>
 {% validate id="message" type={presence} %}
 <input type="submit" value="Send" />
</form>

 

3、在priv/sites/default/resources/resource_default_contact.erl 创建

-module(resource_default_contact).
-export([event/2]).

-include_lib("zotonic.hrl").

event({submit, {contact, []}, _TriggerId, _TargetId}, Context) ->
  Vars = [{mail, z_context:get_q("mail", Context)},
          {name, z_context:get_q("name", Context)},
          {message, z_context:get_q("message", Context)}],
  z_email:send_render(z_email:get_admin_email(Context), "_email_contact.tpl", Vars, Context),
  z_render:update("contact-form", "<p>The form has been submitted! Thank you, we'll get in touch soon.</p>", Context).

4、在添加 priv/sites/default/templates/_email_contact.tpl:模板


主要是配置URL\创建模板\创建处理event事件的resource

 

详细见来自官方的例子http://zotonic.com/documentation/807/implementing-a-simple-contact-form

 

0
2
分享到:
评论

相关推荐

    contact.rar_CONTACT程序_contact 磨耗_contact轮轨_rail wheel _接触

    接触程序提供的定量分析,有助于决策者在众多方案中找到最优解,从而实现经济性和安全性的最佳平衡。 总的来说,“接触”程序是铁路工程中不可或缺的工具,它通过对轮轨接触和磨耗的精细化模拟,帮助工程师们理解这...

    contact angle.rar_Contact angle_contact_contact angle.m_matlab

    通过编写自定义函数,用户可以根据自己的实验数据定制计算流程,实现接触角的精确测量和表面能的有效评估。此外,程序可能还包含了错误处理和用户交互功能,以提高使用的便捷性和可靠性。 总的来说,MATLAB在接触角...

    contact_C语言_contact_Contact.c_

    4. **用户交互(User Interaction)**:使用 `scanf()` 或 `fgets()` 获取用户输入,用 `printf()` 显示输出信息。 5. **循环与条件判断(Loops and Conditional Statements)**:在实现添加、修改、删除等功能时,...

    Contact ID协议

    **Contact ID协议**是安防行业中广泛使用的一种电话报警通信协议,主要用于报警主机与接警中心接收设备之间的数据传输。此协议由Ademco集团(现为Honeywell的一部分)开发,并在1999年由Security Industry ...

    BS contact6.22

    总的来说,BS Contact 6.22作为一款领先的VRML和X3D浏览器,集强大的功能、优秀的性能和友好的用户界面于一体,是探索虚拟现实世界、实现3D互动体验的理想选择。无论是专业人士还是业余爱好者,都能从中找到无尽的...

    contact_us_demo:已实现ContactUs的演示Rails应用程序

    【标题】"contact_us_demo:已实现ContactUs的演示Rails应用程序"揭示了这是一个基于Ruby on Rails框架的示例项目,其主要目的是展示如何在Rails应用中集成和使用Contact Us功能。这个应用程序允许用户通过填写表单来...

    grunt-contact 模块

    5. **简化工作流程**:对于初学者或者小团队,`grunt-contact`可能简化了常见的前端构建任务,使其更易于理解和使用。 为了充分利用`grunt-contact`,你需要: 1. 全局安装`grunt-cli`,确保在命令行可以调用`...

    Contact_List.zip_Contact_List_contact

    总结来说,"Contact_List.zip_Contact_List_contact" 是一个使用Struts2框架开发的Java Web应用,主要用于管理个人或团队的联系人信息,具备常见的增删改查功能。它的实现涉及了数据库设计、MVC架构、OGNL表达式以及...

    微信小程序中添加客服按钮contact-button功能

    小程序的客服系统,是微信做的非常成功的一个功能,开发者可以很方便的通过一行代码,就可实现客服功能。 1. 普通客服按钮添加 &lt;button open-type='contact' session-from=''&gt;客服-联系我们&lt;/button&gt; ...

    contact_id.zip_ADEMCO_contact_contact ID_contact-ID_报警

    根据压缩包子文件的文件名称"contact_id.doc",我们可以推测文档可能详细解释了“contact_id”的概念、如何配置和使用,可能还包括故障排查、接警中心的设置步骤,以及如何通过安定宝协议进行通信的实例。...

    Contact_List.zip_contact_java contactList

    在Java中,可以使用序列化机制将对象转化为字节流,实现数据的持久化,以便在程序重启后仍能恢复联系人信息。 3. 库文件:"lib"目录通常包含项目所需的外部依赖库,这些库可能包括网络通信、数据解析或UI组件等,...

    Laravel开发-contact

    - **易用性**:Avored 提供了开箱即用的 Contact 功能,只需简单配置即可快速启动。 - **可定制化**:模块的设计允许开发者根据项目需求进行定制,如修改表单字段、自定义邮件模板等。 - **集成验证**:内置的...

    WEB3D BS+Contact+VRML+-+用户手册

    "BS+Contact+VRML+-+用户手册.doc"文档很可能是针对上述技术的详细指南,包含如何使用这些技术进行WEB3D开发,如何集成Contact组件进行碰撞检测,以及如何利用VRML创建和展示3D场景等内容。用户手册通常会提供步骤...

    DC-05_Contact_ID.rar_contact_contact ID

    综上所述,《DC-05_Contact_ID.rar_contact_contact ID》所涵盖的知识点主要围绕联系人管理、报警系统的实现、数据库设计以及可能涉及到的API开发。理解并熟练运用这些概念和技术,对于构建一个高效、可靠的报警系统...

    Plug-in_Contact_Model_contact_EDEM_EDEMcontactmodel_edem接触模型

    本文将深入探讨EDEM的默认接触模型,并基于"Plug-in_Contact_Model"这一插件,讲解如何运用EDEM的API进行程序编写,以实现自定义的接触行为。 一、EDEM接触模型基础 EDEM的核心在于其接触模型,它描述了颗粒间的...

    Google Contact API 实例

    2. **API调用**:使用获取的访问令牌,向Google Contact API发送请求,通常会使用`gapi.client.load('contacts', 'v3')`加载API,然后调用`gapi.client.contacts.contacts.list()`获取联系人列表。 3. **数据解析**...

    WordPress联系表单插件Contact Form 7

    前面曾发表过一篇WordPress自定义表单插件cformsII,它的功能也比较强大,功能也比较多,但是,在使用时这款插件有点小复杂,如果不仔细研究下,肯定会有的晕的.....O(∩_∩)O~,今天在官网又看到了一款类似的插件,...

    Laravel开发-laravel-contact

    在`laravel-contact`项目中,某些控制器方法可能使用了如`auth`或`web`等内置中间件,确保只有已登录用户才能访问联系人管理功能。 6. **表单验证(Form Validation)**:Laravel提供了一套强大的表单验证机制。在`...

    ContactManager

    【ContactManager】是一款基于编程技术实现的通讯录应用,它主要功能是管理和组织个人或组织的联系信息。从描述来看,这个项目可能还处于开发阶段,已经完成了一部分功能。作为一个专业的IT大师,我们将深入探讨...

    Android 8.0 系统自带 Contact

    综上所述,Android 8.0系统自带的Contact应用在联系人管理上实现了智能化、个性化和安全性的全面提升,不仅满足了用户的基本需求,也为开发者提供了更多可能性。通过不断的更新和优化,Contact应用成为Android生态...

Global site tag (gtag.js) - Google Analytics