1

我为表单发布创建了简单的 mod。每次提交表格时需要给出唯一的顺序序号。

我来自 WordPress,我将使用“设置 API”。但是在 Joomla 中,我不知道如何存储我的价值。

4

1 回答 1

2

最简单的方法可能是使用模块参数。

首先,需要在模块的 .xml 文件中定义一个计数器参数。在“extension”标签的末尾插入以下代码以创建一个新参数来保存计数器。

<config>
    <fields name="params">
        <fieldset name="basic">
                <field name="serial" type="text" default="0" label="Form Serial #" description="Serial # of current form." filter="integer"/>
        </fieldset>
    </fields>
</config>

这会将“serial”参数添加到模块定义中。可以通过 Joomla 扩展管理器为每个模块类型的实例手动设置此参数的值。

以下是一种通过代码读取、递增和更新串行参数的技术(来自“mod_yourmodulename.php”)。

$serial = $params->get('serial',0); // get current serial
$new_serial = $serial + 1;          // Increment serial counter

$params->set('serial', $new_serial);    // Update the module object parameter value
$p = json_encode($params->toArray());   // Encode params to write into database

$updt = new stdClass;       // Object to hold update fields
$updt->id = $module->id;    // Index field
$updt->params = $p;         // new parameters

$db=JFactory::getDbo();     // Get the database object
$diditwork = $db->updateObject('#__modules', $updt, 'id', false);   // Write the updated parameters to the modules table.

那应该这样做。

于 2013-03-08T08:39:46.900 回答