У нас есть существующая настройка, которая, кажется, сломалась, когда мы обновили сообщество с 1.7 до 1.9.
Настройка добавляет столбец в сетку связанных продуктов.
Настройка является локальнойпереопределение app / code / core / Mage / Adminhtml / Block / Catalog / Product / Edit / Tab / Super / Group.php
Это было сделано до того, как я начал работу над проектом
$this->addColumn('breakdown_part_no', array(
'header' => Mage::helper('catalog')->__('Part No'),
'name' => 'breakdown_part_no',
'type' => 'varchar',
'index' => 'breakdown_part_no',
'width' => '120px',
'editable' => true,
));
Это было добавлено к _prepareColumns ()
Еще одна настройка была добавлена к методу getSelectedGroupedProducts ()
public function getSelectedGroupedProducts()
{
$associatedProducts = Mage::registry('current_product')->getTypeInstance(true)
->getAssociatedProducts(Mage::registry('current_product'));
$products = array();
foreach ($associatedProducts as $product) {
$products[$product->getId()] = array(
'qty' => $product->getQty(),
'position' => $product->getPosition(),
'breakdown_part_no' => $product->getBreakdownPartNo(),
);
}
return $products;
}
Поведение заключается в том, что столбец появляется в админке и может быть отредактирован, однако при сохранении, это не сохраняет никакого значения.
Если я изменяю часть getSelectedGroupedProducts и устанавливаю жестко запрограммированное значение, он по-прежнему не показывает значения (пустое поле), но интересно, что если я нажму кнопку сохранить без значения, он сохранитзначение, которое было жестко закодировано.Если я введу какое-либо значение в поле, оно будет сохранено как пустое.Это действительно странное поведение, которое не имеет смысла для меня.
Если я изменю одно из других полей, например, положение, на жестко закодированное значение, оно появляется мгновенно и работает, как и ожидалось.Пожалуйста, дайте мне знать, как это работает.