0
<field
    name="published"
    type="list"
    label="JSTATUS"
    description="JFIELD_PUBLISHED_DESC"
    class="inputbox"
    filter="intval"
    size="1"
    default="1"
>
    <option value="1">
        JPUBLISHED</option>
    <option value="0">
        JUNPUBLISHED</option>
    <option value="-2">
        JTRASHED</option>
</field>

カスタム コンポーネントの form.xml ファイルに Joomla ドロップダウンを作成し、アイテムの公開ステータスを選択しました。私は恥ずかしがらずにこのコードを Joomlacom_contentコンポーネントから取得しました (そして、それをコピーして自分のform.xmlファイルに貼り付けました。ただし、ファイルにレンダリングするとedit.php(以下に示すように)、アイテムが非公開として設定されていることがわかります。上記のコードにもかかわらず、デフォルトを 1 に明確に設定してください.公開済みに対応する必要があります.なぜ/どのようにこれを修正するかについての良いアイデア.ドロップダウンを非公開から公開に簡単に変更できます-そしてそれはうまくいきます.しかし、それはただ面倒で修正したいバグ. 何かアイデアはありますか?

これは、モジュールがデフォルトで非公開であることを示しています

4

2 に答える 2

0

com_contentのようにテーブル/モデルアプローチを使用していますか?その場合、レコードが存在しない場合、そのフィールドはデフォルトに設定されます(データベースから読み取られるため、intフィールドはデフォルトで0になります)。

あなたはどちらかをすることができます

  • データベースに適切なデフォルトを設定し、
  • モデルでそれらの値を確認し、
  • JPUBLISHEDを0に、JUNPUBLISHEDを517に変更します。

後者は本当に醜いように見えますが。

于 2013-03-12T08:42:56.290 に答える
0

コードを介してオーバーライドがあるかどうかを確認してください。これは com_content コンポーネントによって取得されたため、すべての必須フィールドが設定されるまでデフォルトに設定されません。JS スクリプトまたは PHP 関数がフィールドを中断するかどうかを再確認してください。通常の動作。

私のもう一つの考えは、翻訳に問題があるかもしれないので、翻訳ファイルをよく見てください。

于 2013-03-11T03:19:33.010 に答える