Можно ли создать настраиваемый продукт с несколькими типами продуктов?

magento.stackexchange https://magento.stackexchange.com//questions/52864

Вопрос

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

После игры с серверной частью Magento это кажется невозможным из коробки, но, возможно, есть класс, который я мог бы расширить или что-то в этом роде без особых трудностей?

Это было полезно?

Решение

Насколько я знаю, вы можете добавлять простые, виртуальные и загружаемые продукты внутри настраиваемого продукта.

Ждать..ты поверил мне?Если я скажу: «Я величайший человек во всем мире…», ты мне поверишь?Я думаю, вы не будете.Потому что в ближайшее время ты мне ответишь..«Докажи это... если ты так думаешь».Хорошо.В этом-то и дело.Поэтому я обязан доказать свое самое первое утверждение :-)

Чтобы доказать это, я хочу, чтобы вы изучили Mage_Catalog модуль.Это один из самых сложных модулей, которые я когда-либо видел!В нем можно найти целую вселенную.Теперь мы просто хотим взглянуть на очень небольшую часть этого гигантского модуля.

Файл : app\code\core\Mage\Catalog\etc\config.xml

<catalog>
        <product>
            <type>
                ....
                <configurable translate="label" module="catalog">
                    <label>Configurable Product</label>
                    <model>catalog/product_type_configurable</model>
                    <price_model>catalog/product_type_configurable_price</price_model>
                    <composite>1</composite>
                    <allow_product_types>
                        <simple/>
                        <virtual/>
                    </allow_product_types>
                    <index_priority>30</index_priority>
                    <price_indexer>catalog/product_indexer_price_configurable</price_indexer>
                </configurable>
                ...
            </type>
        </product>
</catalog>

В этом разделе определяется конфигурация для конкретного типа продукта.См. узел allow_product_type и внутри него вы можете видеть, что он содержит простые и виртуальные типы продуктов.Это означает, что magento по умолчанию позволяет использовать простой и виртуальный продукт внутри настраиваемого продукта.Подождите, вы не можете найти загружаемый продукт в этом списке, верно?Окей..прежде чем ругать меня..Я хочу, чтобы вы заглянули в раздел конфигурации продукта, который можно загрузить (внутри Mage_Downloadable модуль)

Файл : app\code\core\Mage\Downloadable\etc\config.xml

<catalog>
        <product>
            <type>
                ....
                <configurable>
                    <allow_product_types>
                        <downloadable/>
                    </allow_product_types>
                </configurable>
                ...
            </type>
        </product>
</catalog>

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

Теперь самое главное, если детский продукт, являющийся настраиваемым продуктом, имеет required_option свойство установлено в yes, то это не позволит вам создать настраиваемый продукт.

Я не собираюсь приводить доказательства этого пункта.Потому что сейчас я не знаю никаких доказательств этой точки зрения.и у меня сейчас нет времени искать какие-либо доказательства.:-) Но эксперт так говорит...

доказательство 1 - Дэвид Мэннерс, доказательство 2-Сара, proxiBlue , доказательство 3 - Роб

Надеюсь, это поможет

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top