Concrete5 表单块-将帮助文本添加到表单输入

Concrete5 表单块-将帮助文本添加到表单输入,concrete5,concrete5-5.7,Concrete5,Concrete5 5.7,我试图在表单块添加的问题中添加“帮助文本”。 类似于但在表单的前端部分 由于某些原因,它不会保存值或将值获取到编辑表单中。即使我手动将其添加到行中,它也不在前端输出中 我制作了一个自定义表单块/模板,并对以下内容进行了其他更改: db.xml中有一个额外的表列“helptext”。并更新了块 <table name="btFormQuestions"> ... <field name="helptext" type="text"> <default valu

我试图在表单块添加的问题中添加“帮助文本”。 类似于但在表单的前端部分

由于某些原因,它不会保存值或将值获取到编辑表单中。即使我手动将其添加到行中,它也不在前端输出中

我制作了一个自定义表单块/模板,并对以下内容进行了其他更改:

db.xml中有一个额外的表列“helptext”。并更新了块

<table name="btFormQuestions">
...
  <field name="helptext" type="text">
  <default value=""/>
</field>
...
</table>
mini-survey.php

        $dataValues = array(
            intval($values['qsID']),
            trim($values['question']),
            trim($values['helptext']),
            $values['inputType'],
            $values['options'],
            intval($values['position']),
            $width,
            $height,
            intval($values['required']),
            $values['defaultDate'],
            intval($values['msqID']),
        );
        $sql = 'UPDATE btFormQuestions SET questionSetId=?, question=?, helptext=?, inputType=?, options=?, position=?, width=?, height=?, required=?, defaultDate=? WHERE msqID=? AND bID=0';
    } else {
        if (!isset($values['position'])) {
            $values['position'] = 1000;
        }
        if (!intval($values['msqID'])) {
            $values['msqID'] = intval($this->db->fetchColumn("SELECT MAX(msqID) FROM btFormQuestions") + 1);
        }
        $dataValues = array(
            $values['msqID'],
            intval($values['qsID']),
            trim($values['question']),
            trim($values['helptext']),
            $values['inputType'],
            $values['options'],
            intval($values['position']),
            intval($values['width']),
            intval($values['height']),
            intval($values['required']),
            $values['defaultDate'],
        );
        $sql = 'INSERT INTO btFormQuestions (msqID,questionSetId,question,helptext,inputType,options,position,width,height,required,defaultDate) VALUES (?,?,?,?,?,?,?,?,?,?,?)';
        }
$result = $this->db->executeQuery($sql, $dataValues);
清除缓存并更新块

<table name="btFormQuestions">
...
  <field name="helptext" type="text">
  <default value=""/>
</field>
...
</table>


已解决: 在C5的干净安装上完成了这项工作

小变化:

将原始文件从concrete/blocks/form添加到应用程序文件夹(并更改了名称空间)

db.xml(不需要长文本)


如果您检查数据库,是否有新字段?请在这里发布相关代码,如添加到数据库中的c5 forumIts。打印(问题);数组([qID]=>295[msqID]=>18[bID]=>139[questionSetId]=>1480941675[question]=>--问题--[inputType]=>checkboxlist[options]=>--选项--[position]=>0[width]=>0[height]=>0[defaultDate]=>[required]=>1[helptext]=>[input]=>--内容--[type]=>checkboxlist[labelFor]=>for=“Question18”)即使我手动将helptext值添加到数据库中,但没有值出现。当我手动将其添加到数据库中问题的正确版本(忘记这一点)时,该值显示在前端和添加/编辑表单上。-在添加/编辑仍不工作的情况下将其保存到数据库。如果您检查数据库,它将重置为null,新字段是否在那里?请在这里发布相关代码,如添加到数据库中的c5 forumIts。打印(问题);数组([qID]=>295[msqID]=>18[bID]=>139[questionSetId]=>1480941675[question]=>--问题--[inputType]=>checkboxlist[options]=>--选项--[position]=>0[width]=>0[height]=>0[defaultDate]=>[required]=>1[helptext]=>[input]=>--内容--[type]=>checkboxlist[labelFor]=>for=“Question18”)即使我手动将helptext值添加到数据库中,但没有值出现。当我手动将其添加到数据库中问题的正确版本(忘记这一点)时,该值显示在前端和添加/编辑表单上。-在添加/编辑仍不工作的情况下将其保存到数据库。它重置为空
addQuestion:
postStr += '&helptext=' + encodeURIComponent($('#helptext' + mode).val());
...
reloadQuestion:
$('#helptextEdit').val(jsonObj.helptext);
...
resetQuestion:
$('#helptext').val('');
        $dataValues = array(
            intval($values['qsID']),
            trim($values['question']),
            trim($values['helptext']),
            $values['inputType'],
            $values['options'],
            intval($values['position']),
            $width,
            $height,
            intval($values['required']),
            $values['defaultDate'],
            intval($values['msqID']),
        );
        $sql = 'UPDATE btFormQuestions SET questionSetId=?, question=?, helptext=?, inputType=?, options=?, position=?, width=?, height=?, required=?, defaultDate=? WHERE msqID=? AND bID=0';
    } else {
        if (!isset($values['position'])) {
            $values['position'] = 1000;
        }
        if (!intval($values['msqID'])) {
            $values['msqID'] = intval($this->db->fetchColumn("SELECT MAX(msqID) FROM btFormQuestions") + 1);
        }
        $dataValues = array(
            $values['msqID'],
            intval($values['qsID']),
            trim($values['question']),
            trim($values['helptext']),
            $values['inputType'],
            $values['options'],
            intval($values['position']),
            intval($values['width']),
            intval($values['height']),
            intval($values['required']),
            $values['defaultDate'],
        );
        $sql = 'INSERT INTO btFormQuestions (msqID,questionSetId,question,helptext,inputType,options,position,width,height,required,defaultDate) VALUES (?,?,?,?,?,?,?,?,?,?,?)';
        }
$result = $this->db->executeQuery($sql, $dataValues);
<field name="helptext" type="text" size="65535"></field>
reloadQuestion: 
$('#editQuestionForm').css('display', 'block');