将字段添加到Joomla 3.x联系人组件

时间:2013-12-14 18:10:46

标签: joomla contact

我需要向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

有没有人有关于如何执行此操作的分步说明?

谢谢!

2 个答案:

答案 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'文件。