এটি স্থির করার জন্য, আপনি বিকল্পভাবে এর জন্য একটি ইনপুট রেন্ডারার ব্যবহার করতে পারেন। খারাপ দিকটি হ'ল, আপনাকে প্রতিটি ইনপুট টাইপের জন্য এটি করতে হবে এবং প্রতিটি বৈশিষ্ট্যের জন্য সেটআপের মাধ্যমে এটি সেট করতে হবে।
এটি করতে, অ্যাডঅ্যাট্রিবিউট ব্যবহার করার সময় ইনপুট_রেন্ডার কীটি ব্যবহার করুন বা আপডেটআউট্রিবিউট ব্যবহার করার সময় একটি অ্যাট্রিবিউট বা ফ্রন্টএন্ড_ইনপুট_রেন্ডারার ব্যবহার করুন । উদাহরণ:
$installer->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'yourattribute', array(
// ...
// won't be used actually as you use a custom renderer (constant equals to text), but I'm not sure what omitting this will have as effect..
'input' => Mage_Catalog_Model_Product_Option::OPTION_GROUP_TEXT,
'input_renderer' => 'yourns_yourmodule/adminhtml_product_helper_form_disabledText',
'frontend_class' => 'disabled',
'note' => 'This field is disabled',
// ...
));
তারপরে আপনার শ্রেণীর Yourns_Yourmodule_Block_Adminhtml_Product_Helper_Form_DisabledText
সাহায্যে ইনপুট ক্লাসটি প্রসারিত করুন যা আপনি আসলে ব্যবহার করবেন। একটি পাঠ্য ক্ষেত্রের জন্য এটি হবে Varien_Data_Form_Element_Text
। বাছাইয়ের জন্য এটি হবে Varien_Data_Form_Element_Select
এবং তাই।
বৈশিষ্ট্যটি অক্ষম করতে, getHtml
পদ্ধতিটিকে ওভাররাইট করা , বৈশিষ্ট্যটি সেট করা এবং ইনপুট ক্ষেত্রের জন্য প্রকৃত এইচটিএমএল কোডটি ফিরিয়ে দেওয়ার জন্য এখন আপনার কোডটি যুক্ত করুন:
public function getHtml()
{
// Set disabled
$this->setReadonly(true, true);
return parent::getHtml();
}
পদ্ধতিটি lib / Varien / Data / form / Abstract.php এ পাওয়া যাবে যা সমস্ত ফর্ম ইনপুট উপাদান ক্ষেত্রের দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হবে, তাই এটি সর্বদা উপলব্ধ হওয়া উচিত।
/**
* Disable elements
*
* @param boolean $readonly
* @param boolean $useDisabled
* @return Varien_Data_Form_Abstract
*/
public function setReadonly($readonly, $useDisabled = false)
{
if ($useDisabled) {
$this->setDisabled($readonly);
$this->setData('readonly_disabled', $readonly);
} else {
$this->setData('readonly', $readonly);
}
foreach ($this->getElements() as $element) {
$element->setReadonly($readonly, $useDisabled);
}
return $this;
}
অস্বীকৃত ইনপুট সম্ভাবনাটি কল্পনা করার জন্য উপরের মতো অ্যাট্রিবিউট সেটআপে অক্ষম শ্রেণিকে অন্তর্ভুক্ত করা বোধগম্য । আপনি সম্ভবত $this->addClass('disabled')
পদ্ধতিতেও ব্যবহার করতে পারেন , আমি এটি এখনও চেষ্টা করি নি।