0

商品エディタの属性設定ページ・タブのテンプレートは?

複数選択可能ないくつかの属性を作成し、それらを属性セットに割り当てました。この属性セットに割り当てられている製品を編集しているときに、属性セット タブで、すべての複数選択コントロールの高さが 10 行 (size="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 に答える