是否可以在joomla原始contacs表单中自动填充登录用户的姓名和电子邮件,或者我是否必须下载一些扩展才能完成工作?我在谷歌上找不到任何东西。任何帮助将不胜感激。
答案 0 :(得分:0)
答案 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; ?>
这至少对我有用。