私はform.xml-definitionに次のフィールドを取得しました:
<field name="attachedto"
type="sql"
label="COM_BESTIA_FIELD_ATTACHEDTO"
query="SELECT id, title FROM #__bestia_items WHERE state = 1"
key_field="id"
value_field="title"
multiple="true"
required="false">
</field>
次に、コンポーネントの構成の設定に従ってstate = 1
を変更したいと思います。 configに「use state = 0 "と表示されている場合、クエリはWHERE state = 1
からWHERE state = 0
に変更されます。
どうやってやるの?
使用しているSQLフォームフィールドタイプでは、これは不可能です。ただし、 カスタムフォームフィールドタイプを開発することもできます。 。非常に役立つ既存のJFormFieldListをサブクラス化することを検討してください。 getOptions()メソッドを記述するだけで済みます。
<?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
class JFormFieldAttachedto extends JFormFieldList {
protected $type = 'Attachedto';
public function getOptions()
{
// Get component config (JComponentHelper::getParams('com_yourcomponent'));
// Make SQL query
// Return all options as array
}
}