0

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

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

我希望它们不是固定的,而是只要需要就可以,因为在某些选择中有很多选项,我的编辑器不得不向下滚动以找到特定选项,这让我很恼火。

我试图通过这个搜索:

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

但没有运气,也尝试过:

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

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

那么我应该编辑哪个模板以删除产品编辑器中属性集选项卡的所有多选的属性 size="10" ?

非常感谢!

4

2 回答 2

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*/);
   }
}
于 2012-07-16T06:27:56.203 回答
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>
于 2012-07-16T06:49:11.563 回答