我需要向joomla 3.x com_contact组件添加字段。我通过谷歌搜索找到了一些说明,但它们都是针对Joomla的早期版本(即2.5)。
我知道extensions.joomla.org网站上还有其他组件,但它们不是我想要的。而且我不是在寻找联系表单组件。我不需要创建表单。
我尝试调整我为3.x找到的2.5修改,但它们不起作用。至少我无法让他们工作。
这是我发现的最接近这一点。但是对于joomla 2.5而言,基于我尝试这样做的步骤,3.x的步骤似乎有所不同。
How to do it but apparently not for Joomla 3.x
有没有人有关于如何执行此操作的分步说明?
谢谢!
答案 0 :(得分:6)
如果要向Joomla 2.5.x / 3.x“联系表单”添加字段,请执行以下步骤: (我想添加'电话'字段)
1-转到* Joomla目录>组件> com_contact>模型>形式* 打开“ contact.xml ”文件。
2-将此代码添加到'fieldset'元素之间的文件中:
<field name="contact_telephone"
type="text"
id="contact-telephone"
size="30"
description="Your Number for Contact"
label="Phone"
filter="string"
required="true"/>
3-转到* Joomla目录&gt;组件&gt; com_contact&gt;意见&gt;联系&gt; TMPL * 打开“ default_form.php ”文件。
4-在文件中找到此代码:
<legend><?php echo JText::_('COM_CONTACT_FORM_LABEL'); ?></legend>
并在元素之间添加此代码:
<dt><?php echo $this->form->getLabel('contact_telephone'); ?></dt>
<dd><?php echo $this->form->getInput('contact_telephone'); ?></dd>
5-转到* Joomla目录&gt;组件&gt; com_contact&gt;控制器* 打开“ contact.php ”文件。
6-找到' _sendEmail '功能
[找到这段代码:private function _sendEmail($data, $contact)
]
并在函数中添加此代码:
$telephone = $data['contact_telephone'];
然后更改此代码
$body = $prefix."\n".$name.' <'.$email.'> '."\r\n\r\n".stripslashes($body);
到
$body = $prefix."\n".$name.' ('.$email.', '.$telephone.') '."\r\n\r\n".stripslashes($body);
我在该行添加了变量$ telephone。 现在,电子邮件中包含发件人的电话号码。
这对我来说非常合适!
答案 1 :(得分:0)
在步骤4中如果您使用模板,则转到:
* Joomla目录&gt;模板&gt; your_template_folder_name&gt; html&gt; com_contact&gt;联系&gt;和ppen'default_form.php'文件。