ইনস্টল স্ক্রিপ্ট ব্যবহার করে গ্রাহকের জন্য মাল্টি সিলেক্ট অ্যাট্রিবিউট কীভাবে তৈরি করবেন?


9

আমি অনেক নিবন্ধ অনুসরণ করছি তবে আমি মাল্টি সিলেক্ট অ্যাট্রিবিউট তৈরি করতে পারছি না। এবং আমি নিম্নলিখিত ত্রুটি পেয়েছি।

a: 5: {i: 0; s: 50: "উত্স মডেল" "" exmitted1 "" গুণমানের জন্য পাওয়া যায় নি; i: 1; s: 3008: "# 0 সি: amp wamp \ www \ magento8 \ অ্যাপ \ কোড \মূল.

এবং আমার লিপিটি হ'ল:

<?php
$installer = $this;
$installer->startSetup();

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');

$entityTypeId     = $setup->getEntityTypeId('customer');
$attributeSetId   = $setup->getDefaultAttributeSetId($entityTypeId);
$attributeGroupId = $setup->getDefaultAttributeGroupId($entityTypeId, $attributeSetId);

$setup->addAttribute('customer', 'exinent1', array(
    'input'         => 'multiselect', 
    'type'          => 'varchar', 
    'backend'       => 'eav/entity_attribute_backend_array',
    'label'         => 'exinent1',
    'visible'       => 1,
    'required'      => 0,
    'user_defined'  => 1,
    'option'        => array (
                'value' => array('optionone' => array('First Option'),
                         'optiontwo' => array('Second Option'),
                         'optionthree' => array('Third Option'),
                         )
                        ),

));

$setup->addAttributeToGroup(
 $entityTypeId,
 $attributeSetId,
 $attributeGroupId,
 'exinent1',
 '100'
);

$oAttribute = Mage::getSingleton('eav/config')->getAttribute('customer', 'exinent1');
$oAttribute->setData('used_in_forms', array('adminhtml_customer')); 
$oAttribute->save();

$setup->endSetup();

এবং config.xml হ'ল:

<?xml version="1.0"?>
<config>
    <modules>
        <Exinent_Cusatt>
            <version>3.1.5.6</version>
        </Exinent_Cusatt>
    </modules>
    <global>
    <resources>
    <exinent_cusatt_setup>
        <setup>
            <module>Exinent_Cusatt</module>
        </setup>
    </exinent_cusatt_setup>
</resources>
    </global>
</config>

আপনাকে
EAV

আপনি কোন নিবন্ধ রেফার করতে পারেন?
শিবকুমার

উত্তর:


10

আমি মনে করি আপনি অনেক ভুল করেছেন .. আপনি এখানে যান,

ইত্যাদি / config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <Exinent_Cusatt>
      <version>0.1.0</version>
    </Exinent_Cusatt>
  </modules>
  <global>
    <helpers>
      <cusatt>
        <class>Exinent_Cusatt_Helper</class>
      </cusatt>
    </helpers>
    <models>
      <cusatt>
        <class>Exinent_Cusatt_Model</class>
        <resourceModel>cusatt_mysql4</resourceModel>
      </cusatt>
    </models>
    <resources>
      <customerattribute1404212233_setup>
        <setup>
          <module>Exinent_Cusatt</module>
          <class>Mage_Customer_Model_Entity_Setup</class>
        </setup>
        <connection>
          <use>core_setup</use>
        </connection>
      </customerattribute1404212233_setup>
      <customerattribute1404212233_write>
        <connection>
          <use>core_write</use>
        </connection>
      </customerattribute1404212233_write>
      <customerattribute1404212233_read>
        <connection>
          <use>core_read</use>
        </connection>
      </customerattribute1404212233_read>
    </resources>
  </global>
</config> 

সহায়ক / ডেটা.এফপি:

<?php
class Exinent_Cusatt_Helper_Data extends Mage_Core_Helper_Abstract
{
}

মোড / Eav / সত্তা / অ্যাট্রিবিউট / উৎসে / Customeroptions14042122330.php

<?php
class Exinent_Cusatt_Model_Eav_Entity_Attribute_Source_Customeroptions14042122330 extends Mage_Eav_Model_Entity_Attribute_Source_Abstract
{
    /**
     * Retrieve all options array
     *
     * @return array
     */
    public function getAllOptions()
    {
        if (is_null($this->_options)) {
            $this->_options = array(

                array(
                    "label" => Mage::helper("eav")->__("Myoption-1"),
                    "value" =>  1
                ),

                array(
                    "label" => Mage::helper("eav")->__("Myoption-2"),
                    "value" =>  2
                ),

                array(
                    "label" => Mage::helper("eav")->__("Myoption-3"),
                    "value" =>  3
                ),

                array(
                    "label" => Mage::helper("eav")->__("Myoption-4"),
                    "value" =>  4
                ),

            );
        }
        return $this->_options;
    }

    /**
     * Retrieve option array
     *
     * @return array
     */
    public function getOptionArray()
    {
        $_options = array();
        foreach ($this->getAllOptions() as $option) {
            $_options[$option["value"]] = $option["label"];
        }
        return $_options;
    }

    /**
     * Get a text for option value
     *
     * @param string|integer $value
     * @return string
     */
    public function getOptionText($value)
    {
        $options = $this->getAllOptions();
        foreach ($options as $option) {
            if ($option["value"] == $value) {
                return $option["label"];
            }
        }
        return false;
    }

    /**
     * Retrieve Column(s) for Flat
     *
     * @return array
     */
    public function getFlatColums()
    {
        $columns = array();
        $columns[$this->getAttribute()->getAttributeCode()] = array(
            "type"      => "tinyint(1)",
            "unsigned"  => false,
            "is_null"   => true,
            "default"   => null,
            "extra"     => null
        );

        return $columns;
    }

    /**
     * Retrieve Indexes(s) for Flat
     *
     * @return array
     */
    public function getFlatIndexes()
    {
        $indexes = array();

        $index = "IDX_" . strtoupper($this->getAttribute()->getAttributeCode());
        $indexes[$index] = array(
            "type"      => "index",
            "fields"    => array($this->getAttribute()->getAttributeCode())
        );

        return $indexes;
    }

    /**
     * Retrieve Select For Flat Attribute update
     *
     * @param int $store
     * @return Varien_Db_Select|null
     */
    public function getFlatUpdateSelect($store)
    {
        return Mage::getResourceModel("eav/entity_attribute")
            ->getFlatUpdateSelect($this->getAttribute(), $store);
    }
}

SQL / customerattribute1404212233_setup / mysql4-ইনস্টল-0.1.0.php

<?php
$installer = $this;
$installer->startSetup();


$installer->addAttribute("customer", "exinent",  array(
    "type"     => "text",
    "backend"  => "",
    "label"    => "exinent1",
    "input"    => "multiselect",
    "source"   => "cusatt/eav_entity_attribute_source_customeroptions14042122330",
    "visible"  => true,
    "required" => false,
    "default" => "",
    "frontend" => "",
    "unique"     => false,
    "note"       => ""

    ));

        $attribute   = Mage::getSingleton("eav/config")->getAttribute("customer", "exinent");


$used_in_forms=array();

$used_in_forms[]="adminhtml_customer";
        $attribute->setData("used_in_forms", $used_in_forms)
        ->setData("is_used_for_customer_segment", true)
        ->setData("is_system", 0)
        ->setData("is_user_defined", 1)
        ->setData("is_visible", 1)
        ->setData("sort_order", 100)
        ;
        $attribute->save();



$installer->endSetup();

এটি হ'ল .. কেবলমাত্র আপনার মডিউলটি আপনার কোড পুল ঘোষণা করুন, এবং সংখ্যার সাথে বিভ্রান্ত করবেন না uplic <customerattribute1404212233_setup> ডুপ্লিকেট প্রবেশ আটকাতে এটির জন্য এটির জন্য এন্ট্রিবিউট পরিচয় just .. চিয়ার্স ..!


প্রকৃতপক্ষে আমার মাল্টিলেক্ট বৈশিষ্ট্যটি শিপিংয়ের শর্তাবলী nd এবং আমি এমন একটি মডিউল তৈরি করছি যা দুটি কলাম (শিপিং টার্ম, সক্ষম / অক্ষম) সহ সত্তা ধারণ করে। ।
শিবকুমার

1

হাই ইলাভরাশন এবং শিবকুমার,

স্থির ক্ষেত্রে বিকল্প কোডটি কল করা ভাল ধারণা নয় ..... আপনাকে কেবল ইভের টেবিলটি ব্যবহার করে আনা দরকার

$attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('customer','exinent1');
 $collection =Mage::getResourceModel('eav/entity_attribute_option_collection')
                ->setPositionOrder('asc')
                ->setAttributeFilter($attributeId)
                ->setStoreFilter(0)
                ->load();

Surcemodel getAllOptions () হওয়া উচিত

 public function getAllOptions()
    {

 if (is_null($this->_options)) {

        attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('customer','attribute_name');
 $collection =Mage::getResourceModel('eav/entity_attribute_option_collection')
                ->setPositionOrder('asc')
                ->setAttributeFilter($attributeId)
                ->setStoreFilter(0)
                ->load();
        $this->_options = $collection->toOptionArray()

    }
    }

আসলে আমার মাল্টিলেক্ট বৈশিষ্ট্যটি শিপিং শর্তাদি nd এবং আমি একটি মডিউল তৈরি করছি (চূড়ান্ত মডিউল স্রষ্টার ব্যবহার করে) যাতে দুটি কলামযুক্ত শপিং রয়েছে (শিপিং শব্দটি সক্ষম করুন is অক্ষম) o দয়া করে এটিকে কিছু দিকনির্দেশ দিন।
শিবকুমার

আমি আপনাকে বলেছি। কিছু পরিবর্তন ইলাভরাসের উত্তর দেওয়ার প্রয়োজন source সোর্স মডেল কোডে কোডটি পরিবর্তন করুন
অমিত বেরা

ঠিক আছে আপনাকে ধন্যবাদ। উদাহরণস্বরূপ সমস্ত অপশন গতিশীল (শিপিং শর্তাবলী টেবিল থেকে বিকল্পগুলি পাওয়া) পান script
শিবকুমার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.