1

フォーム投稿用のシンプルな mod を作成しました。フォームを送信するたびに、固有の連続した注文番号を与える必要があります。

私は WordPress から来ました。「Settings 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>

これにより、「シリアル」パラメータがモジュール定義に追加されます。このパラメーターの値は、Joomla拡張マネージャーを使用してモジュールタイプのインスタンスごとに手動で設定できます。

以下は、コードを介して( "mod_yourmodulename.php"内から)シリアルパラメーターを読み取り、インクリメントし、更新するための1つの手法です。

$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 に答える