php表单的输出,php – Joomla输入表单字段输出
发布日期:2022-02-18 13:08:09 浏览次数:12 分类:技术文章

本文共 2359 字,大约阅读时间需要 7 分钟。

我想做的就是给joomla输入表单提供基本的bootstrap样式:

some text

我使用带有less的mixin将样式应用于现有的输入类

//input form fields

.validate-email{

.form-control;

}

我正在重写com_users / remind.php以进行其他html更改.

但是有一些PHP代码会混淆输出.这是com_users / remind.php的原始代码,我将其覆盖:

<?php foreach ($this->form->getFieldset($fieldset->name) as $name => $field) : ?>

<?php echo $field->label; ?>

<?php echo $field->input; ?>

我不需要标签(见上文),所以我删除了这些行.我更改了所有可用的类,并为输入字段类创建了一个mixin(参见上文).

这就是现在的样子:

<?php foreach ($this->form->getFieldset($fieldset->name) as $name => $field) : ?>

E-Mail

<?php echo $field->input; ?>

但是该代码中的周围php行正在做一些奇怪的事情,我不明白.

输出如下所示:

E-Mail

E-Mail

所以第一个表单组输出就是我想要的.第二个表单组 – 输出通常是输入字段的相应标签.我需要摆脱这第二个表单字段输出.

我要么摆脱那个“foreach”而不创建任何php错误,但我不知道如何更改php代码.

或者我需要为E-Mails加载那个输入字段而没有所有额外的东西,但我不知道该怎么做.

我尝试通过添加创建自己的字段覆盖

JForm::addFieldPath(JPATH_THEMES . '/MyTemplate/html/fields');

并将remind.php复制到该文件夹​​.

但它没有加载我的自定义remind.php.

文档提到了覆盖getLabel

public function getLabel() {

return '' . parent::getLabel() . '';}

但我无法弄清楚如何在getInput上使用它

如果有人有正确的php行或其他更简单的解决方案,请告诉我.我已经有一段时间的反复试验了,而且我的想法已经不多了.

谢谢,拉尔斯

解决方法:

最后,我找到了添加自定义字段和渲染单个输入字段的方法(感谢Brian).这使我可以完全控制joomla输入表单字段的输出,它是防更新的,所有文件都在MyTemplate文件夹中.基本上它是一个覆盖.我正在显示在Joomla / components / com_users / remind中找到的remind.php的整个过程:

>我通过复制所有文件在我的template-folder中创建com_users-override

joomla / components / com_users / views / remind to

的Joomla /模板/ MyTemplate的/ HTML / com_users /提醒

>我将这些行添加到remind.php:

$this-> form-> reset(true); //重置视图加载的表单xml

$this-> form-> loadFile(dirname(__ FILE__).DS.“remind.xml”); //使用FILE常量加载我自己的remind.xml版本

现在我可以在同一个文件夹中使用自己的remind.xml.

>我将remom.xml从joomla / components / com_users / models / forms复制到Joomla / templates / MyTemplate / html / com_users / remind

我在xml中添加以下行:

hint="This is the placeholder-text"

class="form-control"

整个文件看起来像这样:

hint="My Placeholder"

class="form-control"

description="COM_USERS_FIELD_REMIND_EMAIL_DESC"

label="COM_USERS_FIELD_REMIND_EMAIL_LABEL"

required="true"

size="30"

validate="email"

/>

name="captcha"

type="captcha"

label="COM_USERS_CAPTCHA_LABEL"

description="COM_USERS_CAPTCHA_DESC"

validate="captcha"

/>

当然你可以添加你想要的任何行.

>现在我更改了我的Joomla / templates / MyTemplate / html / com_users / remind – 文件夹中的default.php.这些是Brian建议的类似行(抱歉代码格式化不起作用):

电子邮件

形状配合&GT getInput( ‘电子邮件’); ?&GT

就这样.

html输出如下所示:

E-Mail

好的,我知道这篇文章中的代码没有正确显示,但我无法弄清楚如何修复它,我不允许发布截图.对不起.

标签:php,forms,joomla

来源: https://codeday.me/bug/20190830/1768515.html

转载地址:https://blog.csdn.net/weixin_28871097/article/details/116011955 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:matlab减,matlab-线性代数 矩阵的加、减、乘、除
下一篇:php数字截取2位小树,数据结构-PHP 二分搜索树的层序遍历(队列实现)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年03月29日 11时24分47秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章