Связать Сгруппированных Родителей/Детей С Набором Количества По Умолчанию


Я изучал возможность программного присоединения дочерних элементов к их родительским (сгруппированным) продуктам, но также с установленным количеством по умолчанию. Похоже, что информации о том, как сделать больше, чем прикрепить один продукт к одному родителю, практически нет, никакой информации о количестве.

У меня есть код, который может прикреплять продукты, хотя и с количеством по умолчанию 0:

$linkApi = new Mage_Catalog_Model_Product_Link_Api();
$linkApi->assign('grouped',$parent_id,$child_id);

Есть опция $переменная данных, но мне еще предстоит отформатировать массив это было бы правильно принято, даже после использования $linkApi->items('grouped',$id); в качестве базовой линии.

Другой вариант - отказаться от этой части API и использовать модель продукта, но опять же не очень удачно с документацией. Ближе всего у меня есть этот фрагмент, который я нашел, но, похоже, он не работает.

$grouped = Mage::getModel('catalog/product')->load($parent);
$relationData[$grouped->getId()] = array(
    'qty' => $qty,
    'position' => 0,
    'ids'      => $child,
);
$grouped->setGroupedLinkData($relationData);
try{ $grouped->save(); } catch() //Snipped for brevity

Он сохраняется без ошибок, но связанные продукты не отображаются. Если бы кто-нибудь мог помочь, я был бы вам очень признателен.

Резюмировано:

  • Необходимо прикрепить/сгруппировать детей продукты
  • Необходимо прикрепить количество по умолчанию для каждого ребенка
Author: JPMC, 2015-05-21

1 answers

О, я мог бы поклясться, что пытался это сделать. Но, похоже, я либо не сделал этого, либо ошибся в прошлый раз.

Решением этой проблемы действительно является переменная $data в вызове API.

Решение:

$linkApi->assign('grouped', $id, $id_to_attach, array('qty' => $qty, 'position' => 0));
 0
Author: JPMC, 2015-05-21 21:08:46