Это почти то, что я пытаюсь сделать.Все мои простые продукты являются частью, по большей части, одного конфигурируемого продукта, так что проблем там нет.
Это необходимо, потому что я хочу, чтобы мои простые товары (подушка в дизайне X, цвет Y) отображались в поиске, каталоге, но мне нужно, чтобы пользователь знал, что дизайн существует в разных цветах, как только они нажимают (вероятно, потому чтоим нравится дизайн X, но они не обязательно продаются в цвете Y).Кроме того, моя реализация Color Swatches (расширение) заставляет мои простые продукты (которые являются частью конфигурируемых) вести себя смешно при прямом доступе.
Спасибо за любую помощь.
Редактировать:
Вот код, который я использовал в итоге.Я не очень хороший кодер, поэтому обязательно улучшите его перед развертыванием ... (~ В app / design / frontend / blah / blah / template / catalog / product / view.media.phtml)
<?php
/* THIS BLOCK ADDED BY __ ON 5/5/2011 */
$thisProductId = $_product['entity_id'];
$thisProductParentId = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild($thisProductId);
if (!$thisProductParentId)
{
?>
<div class="more-views">
<h2><?php echo $this->__('More Views') ?></h2>
<ul>
<?php foreach ($this->getGalleryImages() as $_image): ?>
<li>
<a href="#" onclick="popWin('<?php echo $this->getGalleryUrl($_image) ?>', 'gallery', 'width=300,height=300,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>"><img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" /></a>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php
}
else if ($thisProductParentId)
{
$_product_temp = Mage::getModel('catalog/product')->load($thisProductParentId);
if($_product_temp->getStatus()==1)
{
$_categories = $_product_temp->getCategoryIds();
$_category = Mage::getModel('catalog/category')->load($_categories[0]);
$url = $this->getUrl($_category->getUrlPath()).$_product_temp->getUrlPath();
echo '<h1><a style="color:red;" href="'.$url.'">Click here to view this pillow design in different colors and styles.</a></h1>';
// redirect disabled because it won't preload the new color on the configurable image page anyway. (haven't attempted)
/* echo '<script type="text/javascript">
<!--
window.location = "'.$url.'"
//-->
</script>'; */
}
}
// -- end --
?>
Перезапись бита галереи «Дополнительные изображения» - это индивидуальная настройка проекта, так что имейте это в виду.