Saya ingin mengubah ekstensi pihak ke-3 dan ingin mengganti fungsinya dengan ekstensi baru. Tetapi perhatian utama saya adalah bagaimana jika ekstensi pihak ke-3 tidak diaktifkan atau ada di folder Magento saya? Saya ingin mengatur ketergantungan menggunakan ifconfig di system.xml atau config.xml tapi saya tidak yakin pada tingkat ekstensi bahwa cara memeriksa apakah ekstensi ada di folder. TIA.
EDIT: Terima kasih kepada @Sander Mangel untuk jawaban ketergantungan. Sekarang biar lebih jelas.
Saya dapat dengan mudah mengatur ketergantungan menggunakan app / etc / modules / MyNameSpace_MyModule.xml tetapi ketika ekstensi pihak ke-3 saya dihapus dari sistem, laporan kesalahan dihasilkan dan menunjukkan "Modul" MyNameSpace_MyModule "memerlukan modul" 3rdPartyExtension " dan menghentikan eksekusi lebih lanjut karena ia memiliki menghasilkan pengecualian tetapi bagaimana jika saya ingin mengeksekusi lebih lanjut tanpa menghasilkan pengecualian? Simply MyExtension tidak akan berlaku jika 3rdpartyextension tidak ada tanpa menghentikan magento untuk dieksekusi. Jadi itu sebabnya saya bertanya apakah ada fasilitas seperti yang kami lakukan pada file layout untuk periksa. CATATAN ifconfig di sini.
<reference name="sales.order.print">
<action method="setTemplate" ifconfig="3rdparty/config">
<template>mytemplate.phtml</template>
</action>
</reference>
Sunting Kedua: Terima kasih kepada Zyava. Saya melakukan apa yang saya inginkan tetapi mengatakan Jika saya menghapus ekstensi pihak ke-3 saya untuk tujuan percobaan untuk melihat apa yang terjadi .. Saya membuat system.xml seperti di bawah ini
<config>
<sections>
<payment>
<groups>
<3rdparty extension translate="label" module="payment">
<label>3rd Party</label>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<disallowedcustomergroups translate="label comment">
<label>Disallowed Customer Groups</label>
<frontend_type>multiselect</frontend_type>
<sort_order>120</sort_order>
<source_model>adminhtml/system_config_source_customer_group</source_model>
<config_path>mymodule/disallowed_customer_groups</config_path>
<comment><![CDATA[Press control and select multiple groups]]></comment>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<depends><active>1</active></depends>
</disallowedcustomergroups>
</fields>
</3rdpartyextension>
</groups>
</payment>
</sections>
</config>
Jadi Anda dapat melihat bahwa saya hanya menetapkan satu tab berdasarkan aktivasi ekstensi pihak ke-3. Tetapi saya telah menghapus ekstensi pihak ke-3 sepenuhnya dari sistem saya tetapi masih menunjukkan ekstensi ekstensi pihak ke-3 lainnya? Mengapa ini menunjukkan mereka meskipun saya sudah membersihkan cache saya?
sumber
payment_action
bidang yang Anda pilihOrder
, bidangauthorization_honor_period
menjadi terlihat.Ketergantungan dapat diatur dalam aplikasi Anda / etc / modules XML. Magento akan memeriksa apakah ekstensi tersedia.
Atau gunakan kode berikut untuk memeriksa apakah ekstensi diaktifkan. Ini dapat dilakukan dengan membuat metode helper di Namespace / Module / Helper / Data.php
sumber