在自定义扩展程序中,我想我可能想要捕获用户的电子邮件地址,因为他们在可以输入的各个位置输入(结帐,创建帐户,登录)。我可能不会,但如果我做了......
我认为最好的方法是注入一段JavaScript,但我不知道该怎么做。我想我需要在布局文件中指定一个块?也许吧,
应用程序/设计/前端/碱/默认/布局/ mymodule.xml
<default>
<reference name="before_body_ends">
<block type="mymodule/myblock" name="not sure" as="not sure" />
</reference>
</default>
并且在块类中,_toHtml()方法可以返回一些将事件处理程序[onchange]添加到电子邮件地址字段的JavaScript,并且事件处理程序的实现对传递e-的控制器进行了AJAX调用输入的邮件地址。
我认为上面的布局类会导致在每个页面中注入JavaScript。我只希望它包含一个包含电子邮件地址输入字段的那些。我应该创建什么样的布局文件(位置,名称和内容)。
我浏览了演示站点并查看了输入电子邮件地址的页面的来源。电子邮件地址字段的ID在每种情况下都不同,因此JavaScript必须考虑到这一点。
非常感谢您的帮助。
答案 0 :(得分:0)
如果您只想在每个页面上包含.js文件,则应将其添加到page.xml:
<layout>
<default>
<reference name="root">
<action method="addJs"><script>relative/path/from/js/folder</script></action>
</reference>
</default>
</layout>
等待dom加载并设置你的javascript观察者。