Joomla 3.0 コンポーネントを作成していますが、質問があります。
編集モードで一部のフィールドを読み取り専用にしたいと考えています。それらは作成時に設定し、その後は編集できないようにする必要があります。
私はこれを行うための 3 つの (私の意見では) 可能な方法を知っています。
- フィールドをバックグラウンドで読み取り専用に設定する
- フィールドが読み取り専用で定義されている編集モードの場合は、他のフォームをロードします
- JavaScript を使用してフィールドを読み取り専用にします
私は方法 2 (または、より単純な場合は方法 2) を好みますが、これをどのように達成できるかわかりません。編集モードに入った場合、getForm() 関数でどのように知ることができますか? 助言がありますか :)?
編集:現時点では、私は好きではない方法3を使用しています:
<?PHP if ($this->item->id > 0) { ?>
<script type="text/javascript">
var text_box = document.getElementById('jform_name');
text_box.setAttribute('readonly', 'readonly');
</script>
<?PHP } ?>