产品编辑器中属性集页面/标签的模板是什么?
我创建了一些多选属性并将它们分配给属性集。当我正在编辑分配给此属性集的产品时,在属性集选项卡上,所有多选控件都具有10行的固定高度(size =“10”)。
我希望它们不被修复,而是只要需要它,因为在某些选项中有很多选项,它让我的编辑器不得不向下滚动以找到特定的选项。
我试图通过这个搜索:
find adminhtml -type f -exec grep -l " size=\"10\"" {} \;
但没有运气,也尝试过:
find adminhtml -type f -exec grep -l " multiple=\"multiple\"" {} \;
仍然没有运气。我发现的似乎不是我需要的模板。
对于产品编辑器中所有多选属性集选项卡,我应编辑哪个模板以删除属性size =“10”?
非常感谢!
答案 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>