ネストされたXMLファイルでShowonを使用し、元のXMLファイルのフィールド名を参照したい。
これはJoomlaでは不可能だと私は読んだ!サブフォームに同じフィールド名を作成する場合、どれを選択するのですか? (私は個人的に最も近いもの、つまり現在のxmlにあるものに投票します)。
とにかくこれは不可能です別の方法がありますか?
これが私のファイルです
メインサブフォーム
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fieldset name="image-fieldset">
<field name="media_manager_or_url"
type="list"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_MEDIA_MANAGER_OR_URL_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_MEDIA_MANAGER_OR_URL_DESCRIPTION"
default="0"
>
<option value="0">MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_MEDIA_MANAGER</option>
<option value="1">URL</option>
</field>
<field name="images-subform"
label= "MOD_KOU_BACKGROUND_IMAGE_WITH_IMAGES_SUBFORM_LABEL"
description= "MOD_KOU_BACKGROUND_IMAGE_WITH_IMAGES_SUBFORM_DESCRIPTION"
type= "subform"
min= "1"
max= "1000"
required= "true"
formsource= "/modules/mod_kou_background_image_with_text/xml/media_manager_or_url.xml"
multiple= "true"
buttons= "add,remove"
layout="joomla.form.field.subform.repeatable"
groupByFieldset="false"
/>
</fieldset>
</form>
セカンダリサブフォーム
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fieldset name="media-manager-or-url-fieldset">
<field name="image"
type="media"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_IMAGE_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_IMAGE_DESCRIPTION"
showon="media_manager_or_url:0"
/>
<field name="url"
type="url"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_URL_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_URL_DESCRIPTION"
showon="media_manager_or_url:1"
/>
<field name="real-size"
type="text"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_REAL_SIZE_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_REAL_SIZE_DESCRIPTION"
/>
<field name="size"
type="text"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_SIZE_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_SIZE_DESCRIPTION"
/>
</fieldset>
</form>
ファイルを複数のサブフォームに分割することで、showonを使用できます。これが私が最終的に得たものです。
メインサブフォーム
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fieldset name="image-fieldset">
<field name="media_manager_or_url"
type="list"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_MEDIA_MANAGER_OR_URL_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_MEDIA_MANAGER_OR_URL_DESCRIPTION"
default="0"
>
<option value="0">MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_MEDIA_MANAGER</option>
<option value="1">URL</option>
</field>
<field name="media-manager-images-subform"
label= "MOD_KOU_BACKGROUND_IMAGE_WITH_IMAGES_SUBFORM_LABEL"
description= "MOD_KOU_BACKGROUND_IMAGE_WITH_IMAGES_SUBFORM_DESCRIPTION"
type= "subform"
min= "1"
max= "1000"
required= "true"
formsource= "/modules/mod_kou_background_image_with_text/xml/media_manager_images_subform.xml"
multiple= "true"
buttons= "add,remove"
layout="joomla.form.field.subform.repeatable"
groupByFieldset="false"
/>
<field name="url-images-subform"
label= "MOD_KOU_BACKGROUND_IMAGE_WITH_IMAGES_SUBFORM_LABEL"
description= "MOD_KOU_BACKGROUND_IMAGE_WITH_IMAGES_SUBFORM_DESCRIPTION"
type= "subform"
min= "1"
max= "1000"
required= "true"
formsource= "/modules/mod_kou_background_image_with_text/xml/url_images_subform.xml"
multiple= "true"
buttons= "add,remove"
layout="joomla.form.field.subform.repeatable"
groupByFieldset="false"
showon="media_manager_or_url:1"
/>
</fieldset>
</form>
セカンダリサブフォーム
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fieldset name="media-manager-or-url-fieldset">
<field name="image"
type="media"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_IMAGE_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_IMAGE_DESCRIPTION"
showon="media_manager_or_url:0"
/>
</field>
<field name="url"
type="url"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_URL_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_URL_DESCRIPTION"
showon="media_manager_or_url:1"
/>
<field name="real-size"
type="text"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_REAL_SIZE_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_REAL_SIZE_DESCRIPTION"
/>
<field name="size"
type="text"
label="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_SIZE_LABEL"
description="MOD_KOU_BACKGROUND_IMAGE_WITH_TEXT_SIZE_DESCRIPTION"
/>
</fieldset>
</form>
最初のロジックではないサブフォームパーツにフォームを分割することで、JavaScriptを使用せずにこの結果を達成することができました。
わずかな欠点は、4つの要素を持つ1つのサブフォームを使用する代わりに、3つの要素を持つ2つのサブフォームを使用する必要があったことです。私にとっては同じものだったので、このコピーと貼り付けの作業は簡単で、Joomlaだけを使用して問題を解決しました。芯。