タグ付けされた質問 「source-model」


3
ソースモデルの単体テスト
私のカスタム拡張機能には、エンティティの追加/編集フォームの一部の選択または複数選択、あるいはその両方の目的を満たすだけのモデルがいくつかあります。 したがって、これらはmagentoが「ソースモデル」と呼ぶものです。 関連する値は常に同じであり、メソッドは同じものを返します。 それらを単体テストするにはどうすればよいですか?または、さらに良いことに、それらの単体テストを作成する必要がありますか? 例を示します。 次のクラスは、呼び出されたフィールドの追加/編集フォーム、typeおよび同じフィールドのグリッド列に使用されます。 <?php namespace Sample\News\Model\Author\Source; use Magento\Framework\Option\ArrayInterface; class Type implements ArrayInterface { const COLLABORATOR = 1; const EMPLOYEE = 2; /** * Get options * * @return array */ public function toOptionArray() { $_options = [ [ 'value' => '', 'label' => '' ], [ 'value' …

1
カスタム製品の複数選択属性が管理者に保存されない
カスタム製品の複数選択属性を正常に作成しました。 しかし、adminで製品を編集し、multiselect属性のいくつかのオプション(国)を選択すると、[Save]をクリックすると、正常に保存されます。 しかし、同じ製品をもう一度開くと、選択したオプションの前に表示されません。つまり、カスタム製品属性が製品モデルに保存されません。 あなたは誰かを助けてください。私はとても疲れています。そして私は何時間も試しました。そして私はここに配置します。 etc / config.xmlファイル <config> <modules> <Exinent_Shiplimit> <version>0.1.0</version> </Exinent_Shiplimit> </modules> <global> <models> <checkout> <rewrite> <type_onepage>Exinent_Shiplimit_Model_Checkout_Type_Onepage</type_onepage> </rewrite> </checkout> </models> <resources> <exinent_shiplimit_setup> <setup> <module>Exinent_Shiplimit</module> <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class> </setup> </exinent_shiplimit_setup> </resources> </global> </config> app \ code \ local \ Exinent \ Shiplimit \ sql \ exinent_shiplimit_setup \ mysql4-install-0.1.0.php <?php $installer = $this; …

1
Magento 2の複数選択製品属性にカスタムソースモデルを使用するにはどうすればよいですか
タイプのMagento 2で属性を作成しましたmultiselectが、カスタムソースモデルによってその属性を設定したいと思います。 これをMagento 1から覚えているのですが、これを行うには、データベースの属性を手動で編集しsource_model、をソースモデルのパスに設定する必要がありました。 しかし、Magento 2でこれを行うと、エラーが発生します。に変更source_modelしeav_attributeましたVendor\Module\Model\Config\Source\Product\Attributesが、管理者で製品を編集しようとすると、次のエラーが発生します。 Fatal error: Uncaught Error: Call to undefined method Vendor\Module\Model\Config\Source\Product\Attributes::setAttribute() in .../vendor/magento/module-eav/Model/Entity/Attribute/AbstractAttribute.php:547 Stack trace: #0 .../var/generation/Magento/Catalog/Model/ResourceModel/Eav/Attribute/Interceptor.php(1129): Magento\Eav\Model\Entity\Attribute\AbstractAttribute->getSource() #1 .../vendor/magento/module-backend/Block/Widget/Form.php(232): Magento\Catalog\Model\ResourceModel\Eav\Attribute\Interceptor->getSource() #2 .../vendor/magento/module-backend/Block/Widget/Form.php(201): Magento\Backend\Block\Widget\Form->_applyTypeSpecificConfig('multiselect', Object(Magento\Framework\Data\Form\Element\Multiselect), Object(Magento\Catalog\Model\ResourceModel\Eav\Attribute\Interceptor)) #3 .../vendor/magento/module-catalog/Block/Adminhtml/Product/Edit/Tab/Attributes.php(51): Magento\Backend\Block\Widget\Form->_setFieldset(Array, Object(Magento\Framework\Data\Form\El in .../vendor/magento/module-eav/Model/Entity/Attribute/AbstractAttribute.php on line 547 カスタムソースモデルで製品属性を作成する方法を知っている人はいますか? 編集: 現在のソースモデル: use Vendor\Module\Model\Config\Source\AbstractSource; use Magento\Catalog\Model\ResourceModel\Eav\AttributeFactory; use Magento\Eav\Model\Entity\Attribute; use Magento\Eav\Model\Entity\TypeFactory; …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.