依存性のグループシステム構成
-
12-12-2019 - |
質問
知っていることを依存関係分野となる可能性がありますのノード
<depends />
とはいえ、かつグループを作成する依存関係がないのですが探していただくためざし、実際のForm.php コードで記載
$dependent->fieldset
何をやってもうまくいかないきが続いていることができます。
編集:さらなる調査でいるようでループを通じての分野にお読み依存関係のためにMage_Adminhtml_Block_System_Config_form::initFields()
foreach ($group->fields as $elements) {
も良いことがあるかも知をどのように実現するこ
解決
JavaScriptをコメント領域に入れることができます。それはこのようなものになることができます:
<comment><![CDATA[
<script type="text/javascript">
document.observe("dom:loaded",function(){
if($('sections_groups_value').value != some_value){
Element.up($('sections_groups')).hide();
}
});
Event.observe('sections_groups_value', 'change', function(){
if(this.value != some_value){
Element.up($('sections_groups')).hide();
}else if(this.value == some_value){
Element.up($('sections_groups')).show();
}
})
</script>]]>
</comment>
.
それに応じて「sections_groups_value」、「many_value」、および「sections_groups」を置き換えます。
他のヒント
最初に私を必要とする理由をご記の文言.
かつグループを作成する依存性
しました。を実現しようとしてい グループ依存性 の 電界依存性 ?
のポイントをより明確にし、 groups
や fields
とは異なるシステムの設定をします。集団と集めている。
集関連 fields
構成 group
.Collectionの関連団体の構成 section
回収のような部分を構成するシステム全体の設定ページです。
だい場依存性を、この リンクを進めていくうえで良い出発点.
まる必要がリアルタイムで見る Mage_Customer
モジュールです。あり内側 app/code/core/Mage/Customer/etc/system.xml
, で定義、グループ create_account
.できることを一つ以上の分野でそのグループにより異なりフィールド名 auto_group_assign
.さらに同条約を宣言するのカスタムの分野で、簡単に実現できかねます。
免責事項:-以下のとがありますので、私が観測で 示すものではありません。ていただく場合が間違っていてください正しい:-)
から 編集, いでくださいますようお願いいのは正しい方向を向いている。かったと思っており、小説明します。
の方法ですが、参照され Mage_Adminhtml_Block_System_Config_Form::initFields()
. Mage_Adminhtml_Block_System_Config_Form
クラスを用いて構成するシステム構成です。 initFields()
する方法で生成に使用される分野、特定のグループに属する
だとするところは、三つのタイルです。以下の私はその構造
foreach ($group->fields as $elements) {
//doing sorting on fields in a specific group and
//store sorted array of fields in $elements.
foreach ($elements as $element) {
//more more codes
if ($element->depends) {
foreach ($element->depends->children() as $dependent) {
}
}
}
}
ここで最初に foreach
ループの収集分野でこの内の特定のグループ(fieldset).本コレクションから生成されるxmlの設定とは system.xml
ファイルです。な分野のコレクション $group->fields
を持つ紙配列になります。そのため initField()
方法と分別し、分別の分野としての配列 $elements
.その foreach
ループ再プを通してソートされた配列。
多くのものがこのループを実行します。せるわけにはいきませんの説明のようになります。しかし当社は、次 foreach
ループです。このループを実行し, initFields()
法チェックのための依存関係の分野 if ($element->depends)
.で依存関係を指定でを繰り返して調べての通し方によります。($element->depends->children()
実際に生成さの配列によります。この分野における電流分野であります。
お待ち---で繰り返し処理の集合によって分野にお!!!!とが していきたいで複数の電界依存性は、特定の分野.この時の私を指定する必要があると私はを参照する Magento 1.9.1
.この機能が利用できない古いバージョンだとは思います。からざ1.7、複数の分野への依存ができます。
ことになるのです。この分野に依存する処理ざ.を取得しまの詳細を指定します。私は明らかでない。
Magento 2.1.xの場合は、依存構成グループを切り替えるために次のjQueryを使用できます。
<comment><![CDATA[
<script type="text/javascript">//<![CDATA[
require(['jquery'], function(){
if (jQuery('#field_id').val() == 'value_to_compare') {
toggleDependantGroups(true);
}
jQuery('#field_id').change(function() {
if (jQuery(this).val() == 'value_to_compare') {
toggleDependantGroups(true);
} else {
toggleDependantGroups(false);
}
});
function toggleDependantGroups(hide=true)
{
if (hide) {
jQuery('#section-id').closest('div.section-config').hide();
jQuery('#section-id').closest('div.section-config').hide();
jQuery('#last-visible-section-id').closest('div.section-config').css('border-bottom-width', '0px');
} else {
jQuery('#section-id').closest('div.section-config').show();
jQuery('#section-id').closest('div.section-config').show();
jQuery('#last-visible-section-id').closest('div.section-config').css('border-bottom-width', '1px');
}
}
});
</script>]]>
.
必要に応じてIDを置換します。