产品编辑器中属性集选项卡的Magento模板?

时间:2012-07-16 03:10:09

标签: magento select

产品编辑器中属性集页面/标签的模板是什么?

我创建了一些多选属性并将它们分配给属性集。当我正在编辑分配给此属性集的产品时,在属性集选项卡上,所有多选控件都具有10行的固定高度(size =“10”)。

我希望它们不被修复,而是只要需要它,因为在某些选项中有很多选项,它让我的编辑器不得不向下滚动以找到特定的选项。

我试图通过这个搜索:

find adminhtml -type f -exec grep -l " size=\"10\"" {} \;

但没有运气,也尝试过:

find adminhtml -type f -exec grep -l " multiple=\"multiple\"" {} \;

仍然没有运气。我发现的似乎不是我需要的模板。

对于产品编辑器中所有多选属性集选项卡,我应编辑哪个模板以删除属性size =“10”?

非常感谢!

2 个答案:

答案 0 :(得分:1)

默认大小设置为类,而不是模板:

class Varien_Data_Form_Element_Multiselect extends Varien_Data_Form_Element_Abstract
{
    public function __construct($attributes=array())
    {
        parent::__construct($attributes);
        $this->setType('select');
        $this->setExtType('multiple');
        $this->setSize(10);
    }
..................
}

如果你想改变它,你应该观察adminhtml_catalog_product_edit_prepare_form事件。然后在你的观察者中你可以做这样的事情

foreach ($form->getElements() as $element) {
   if ($element instanceof Varien_Data_Form_Element_Multiselect) {
       $element->setSize(/*your value*/);
   }
}

答案 1 :(得分:1)

您也可以在adminhtml / default / default / template / catalog / form / renderer / fieldset / element.phtml中进行模板内的更改

<td class="value">
    <?php if ($_element->getSize()==10)$_element->setSize(20);//here the change?>
    <?php echo trim($this->getElementHtml()) ?>
    <?php if ($_element->getNote()) : ?>
        <p class="note"><?php echo $_element->getNote() ?></p>
    <?php endif; ?>
</td>