'হ্যাঁ / না' ড্রপডাউন কাস্টম পণ্য বৈশিষ্ট্যের ডিফল্ট মান


10

আমি নিম্নলিখিত স্ক্রিপ্ট দিয়ে বৈশিষ্ট্য ইনস্টল:

$installer = $this;
$installer->startSetup();

$installer->removeAttribute('catalog_product', 'customizableonly');
$installer->addAttribute('catalog_product', 'customizableonly', array(
        'group'                     => 'General',
        'input'                     => 'select',
        'type'                      => 'int',
        'label'                     => 'Customizable Only',
        'source'                    => 'eav/entity_attribute_source_boolean',
        'global'                    => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
        'visible'                   => 1,
        'required'                  => 0,
        'visible_on_front'          => 0,
        'is_html_allowed_on_front'  => 0,
        'is_configurable'           => 0,
        'searchable'                => 0,
        'filterable'                => 0,
        'comparable'                => 0,
        'unique'                    => false,
        'user_defined'              => false,
        'default'           => 0,
        'is_user_defined'           => false,
        'used_in_product_listing'   => true
));

$this->endSetup();

সাথে চেষ্টাও করেছেন $installer = new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup('core_setup');

এবং তারপরে আমি অন্য কোনও কোডে গুণকের মানটি ব্যবহার করছি। কিন্তু আমি সবসময় পেতে null। আমি খুঁজে পেয়েছি যে, গুণটি একটি ডিফল্ট মান সেট করে না। আমি যখন কোনও পণ্য খুলি - ড্রপডাউনটি দেখায় Noতবে আমি কোডে এর মান পেলেই এটি হয় null। আমি যদি কেবল ড্রপডাউনটিতে ক্লিক করি, তবে কেবল Noপণ্যটি সেট করুন এবং সংরক্ষণ করুন - সবকিছু কাজ করে।

কীভাবে এটি কাটিয়ে উঠবেন?


ড্রপ / অ্যাট্রিবিউট ব্যবহার তৈরির
অমিত বেরা

উত্তর:


14

স্ট্রিং হিসাবে ডিফল্ট মান সেট করার চেষ্টা করুন

'default' => '0'

বা খালি

'default' => ''

হালনাগাদ

আপনি পুরানোগুলির জন্য নতুন পণ্য যুক্ত করলে এটি প্রভাবিত করে না যখন ডিফল্ট মানগুলি যুক্ত হয়।

বৃহত্তর পদক্ষেপের সাথে পণ্য পরিচালনায় এটি ঠিক করার চেষ্টা করুন

পরিচালিত পণ্যগুলির অভ্যন্তরে, "আপডেট বৈশিষ্ট্য" নামে একটি ক্রিয়া রয়েছে। আপনি আপডেট করতে চান এমন সমস্ত পণ্য নির্বাচন করুন এবং তারপরে আপডেট বৈশিষ্ট্যগুলি নির্বাচন করুন এবং এতে সমস্ত নতুন তথ্য যুক্ত করুন।


1
আমি এটি ইতিমধ্যে চেষ্টা করেছি এবং কাজ করে না। :(
সিসপেক্ট

3

আপনার সমস্ত বিদ্যমান সত্তার জন্য ম্যানুয়ালি মান নির্ধারণ করা উচিত:

$productIds = Mage::getResourceModel('catalog/product_collection')
    ->getAllIds();

// Now create an array of attribute_code => values
$attributeData = array("my_attribute_code" =>"my_attribute_value");

// Set the store to affect. I used admin to change all default values
$storeId = 0; 

// Now update the attribute for the given products.
Mage::getSingleton('catalog/product_action')
    ->updateAttributes($productIds, $attributeData, $storeId);

উত্স: /programming/4906497/default-attribute-value-for-all-product-in-magento । আসারার মালিকের উত্তর দেখুন।


3

আমার সমস্যা ছিল যে কোড স্নিপেটের উপরে একটি সিলেক্ট-অ্যাট্রিবিউট তৈরি করার পরিবর্তে হ্যাঁ / না কোনও অ্যাট্রিবিউট তৈরি করা হয়েছিল। এটি ঠিক করতে আমাকে ব্যবহার করতে হয়েছিল

'input'             => 'boolean'

পরিবর্তে:

'input'             => 'select'

0

আমি একটি হ্যাঁ / কোনও বৈশিষ্ট্যের ক্ষেত্রেও ডিফল্ট মান 0 যুক্ত করতে সক্ষম হইনি।

তাই আমি ডিফল্ট মান 0 যুক্ত করতে একটি ইভেন্ট ব্যবহার করেছি used

<frontend>
    <events>
        <customer_save_before>
            <observers>
                <xx_save_observer>
                    <type>singleton</type>
                    <class>xx/observer</class>
                    <method>customerSaveBefore</method>
                </xx_save_observer>
            </observers>
        </customer_save_before>
    </events>
</frontend>

পদ্ধতি:

public function customerSaveBefore(Varien_Event_Observer $observer)
{
    try {
        $customer = $observer->getCustomer();
        if (!$customer->getYourCustomAttribute()) {
            $customer->setYourCustomAttribute(0);
        }
    } catch ( Exception $e ) {
        Mage::log( "customer_save_before observer failed: ".$e->getMessage());
    }
}

0

হ্যাঁ / কোনও কাস্টম অ্যাট্রিবিউট যোগ করার জন্য মাগেন্তোতে মডিউল তৈরি করতে নীচে দেখানো হয়েছে।

http://www.pearlbells.co.uk/how-to-add-custom-attribute-dropdown-to-category-section-magento/

    <?php
$this->startSetup();
$this->addAttribute(Mage_Catalog_Model_Category::ENTITY, 'featured_product', array(
    'group'         => 'General Information',
    'input'         => 'select',
    'type'          => 'text',
    'label'         => 'Featured Product',
    'backend'       => '',
    'visible'       => true,
    'required'      => false,
    'visible_on_front' => true,
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
    'source' => 'eav/entity_attribute_source_boolean',
));

$this->endSetup();
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.