3

基本的にすべての国のリストである Magento の組み込み country_of_manufacturer の値を新しい属性にコピーする方法はありますか?

組み込みの属性を使用するだけでいいのですが、これはちょっとおかしな質問だと思います。しかし、その値を別の属性 (country_region など) に使用する必要があります。では、どうすればそれを行うことができますか?

PS私はたくさん検索しましたが、これに対する答えが見つからなかったので、反対票を投じないでください。また、他にどのようにこれを行うことができるかわかりません。:/

4

2 に答える 2

6

やりたいことは、catalog/product_attribute_source_countryofmanufactureソース モデルを使用するように新しい属性を構成することです ( Mage_Catalog_Model_Product_Attribute_Source_Countryofmanufacture::getAllOptions()[リンク]を参照してください。このモデルは、ディレクトリ テーブルからオプションを取得します。

モジュールのアップグレード スクリプトでこの属性を作成して構成するのが理想的です。モジュールのアップグレード スクリプトを実行するには、必要な構成が必要です。これをスクリプトの基礎として使用できます。

$installer = Mage::getResourceModel('catalog/setup','default_setup');
/* @var $installer Mage_Catalog_Model_Resource_Setup */

$installer->startSetup();

$installer->addAttribute(
    Mage_Catalog_Model_Product::ENTITY,
    'your_attr_code',
    array(
        'type'      => 'varchar',
        'input'  => 'select',
        'source'    => 'catalog/product_attribute_source_countryofmanufacture',
        // other settings as desired...
    )
);

$installer->endSetup();

管理画面で「ドロップダウン」属性を作成し、それをテーブルで見つけて、その列をeav_attribute編集してリストされたソース モデルを表示することもできます。source_model適切な設定を行うには、次の SQL ステートメントを実行します...

SELECT * FROM eav_attribute WHERE attribute_code = 'country_of_manufacture';`

...または、最初に属性がどのように作成されるかを見てください。country_of_manufacture

于 2012-10-18T12:31:44.243 に答える
-1

独自の拡張機能を設定し、あるテーブルから別のテーブルに値をコピーするためのfieldsets宣言をに含めることができます。config.xmlしかし、私はあなたの場合にそうする方法を本当に知りません。「magentoフィールドセット」を検索するだけです…</p>

<config>
    <global>
        <fieldsets>
            <checkout_onepage_billing>
                <username><to_customer>*</to_customer></username>
            </checkout_onepage_billing>
        </fieldsets>
        <!-- … -->
    </global>
</config>
于 2012-10-18T09:27:36.687 に答える