Joomla联系表单 - 自动填写电子邮件和登录用户的用户名

时间:2016-05-05 20:56:06

标签: joomla joomla-extensions

是否可以在joomla原始contacs表单中自动填充登录用户的姓名和电子邮件,或者我是否必须下载一些扩展才能完成工作?我在谷歌上找不到任何东西。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

Joomla包含一个“User - Contact Creator”插件,默认情况下已禁用,可自动为新用户创建联系人。这些可以自动发布。

或许你需要更具互动性的东西?

Contact Creator Plugin

答案 1 :(得分:0)

使用com_contact / contact / default_form.php的覆盖做了同样的事情

$user = JFactory::getUser();添加到模块标题中的php代码中,并在调用<?php foreach ($fields as $field) : ?>之前将以下行添加到<?php echo $field->renderField(); ?>循环体中的块:

                    <?php if ($field->name === 'jform[contact_name]' && $user->username) : ?>
                        <?php $field->setValue($user->username); ?>
                    <?php endif; ?>             
                    <?php if ($field->name === 'jform[contact_email]' && $user->email) : ?>
                        <?php $field->setValue($user->email); ?>
                    <?php endif; ?>                     

Joomla 3.6.x的完整循环示例:

                <?php foreach ($fields as $field) : ?>
                    <?php if ($field->name === 'jform[contact_email_copy]' && !$this->params->get('show_email_copy')) : ?>
                        <?php continue; ?>
                    <?php endif; ?>
                    <?php if ($field->name === 'jform[contact_name]' && $user->username) : ?>
                        <?php $field->setValue($user->username); ?>
                    <?php endif; ?>             
                    <?php if ($field->name === 'jform[contact_email]' && $user->email) : ?>
                        <?php $field->setValue($user->email); ?>
                    <?php endif; ?>                     
                    <?php echo $field->renderField(); ?>
                <?php endforeach; ?>

这至少对我有用。