Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php magento的产品页面是否可以有多个外观设计?_Php_Css_Magento_Magento 1.5 - Fatal编程技术网

Php magento的产品页面是否可以有多个外观设计?

Php magento的产品页面是否可以有多个外观设计?,php,css,magento,magento-1.5,Php,Css,Magento,Magento 1.5,理论上,我应该如何编写代码或实现问题的解决方案 假设我有一个3种不同的产品页面设计 特殊产品/属性:[名称:,宣传语:,价格:,产品图片:,说明:,] 常规产品/属性:[名称:,产品图像:,说明:,] 其他产品/属性:[名称:,产品图像:,说明:,链接:,] 我想他们都只共享一个模板(app/design/frontend/default/skinName/template/product/view.phtml),但我想为每个模板做3个变体。每种产品变体也有不同的属性。我正在使用Magento

理论上,我应该如何编写代码或实现问题的解决方案

假设我有一个3种不同的产品页面设计

  • 特殊产品/属性:[名称:,宣传语:,价格:,产品图片:,说明:,]
  • 常规产品/属性:[名称:,产品图像:,说明:,]
  • 其他产品/属性:[名称:,产品图像:,说明:,链接:,]
  • 我想他们都只共享一个模板(app/design/frontend/default/skinName/template/product/view.phtml),但我想为每个模板做3个变体。每种产品变体也有不同的属性。我正在使用Magento 1.6

    请告诉我从哪里开始


    谢谢大家!

    您必须为它们创建不同的属性,如对于特殊产品,创建属性特殊类型“是/否”,并且每次添加产品时,您将选择此选项。最后,在view.phtml中,您必须检查此产品是否特殊。并在这里使用您的条件和实现您自己的设计。 希望这对你有帮助。
    谢谢

    您必须为它们创建不同的属性,就像对于特殊产品一样,创建属性特殊类型“是/否”,并且您将在每次添加产品时选择此选项。最后,在view.phtml中,您必须检查此产品是否特殊。并在这里使用您的条件和实现您自己的设计。 希望这对你有帮助。 谢谢

    选项1:按产品类型布局XML 三种不同的产品变体是否是偶然分开的产品类型(例如,可配置、简单和可下载)? 如果是这样,您可以在themes layout/local.xml文件中使用布局更新声明设置不同的模板:

    选项4:块重写 另一个选项(尽管更容易发生冲突)是重写
    目录/产品视图
    块,重载
    \u beforeToHtml()
    方法,并指定要在那里使用的模板。我不会在这里详细介绍,因为我认为前面的选项更好

    因此,根据您采取的方法类型,有很多种可能性(并非全部)。

    选项1:按产品类型布局XML 三种不同的产品变体是否是偶然分开的产品类型(例如,可配置、简单和可下载)? 如果是这样,您可以在themes layout/local.xml文件中使用布局更新声明设置不同的模板:

    选项4:块重写 另一个选项(尽管更容易发生冲突)是重写
    目录/产品视图
    块,重载
    \u beforeToHtml()
    方法,并指定要在那里使用的模板。我不会在这里详细介绍,因为我认为前面的选项更好


    因此,根据您采取的方法类型,有很多种可能性(这些不是全部)。

    这取决于您想要什么样的定制。如果你想改变整个页面,我不认为你可以。对不起,我不知道我现在学到的这方面。Magento具有通过布局句柄以自定义产品属性为目标的功能。你可以查看这个网站,这取决于你想要什么样的定制。如果你想改变整个页面,我不认为你可以。对不起,我不知道我现在学到的这方面。Magento具有通过布局句柄以自定义产品属性为目标的功能。你可以查看这个网站谢谢Vinai,这正是我要找的。谢谢Vinai,这正是我要找的。
    <layout>
        <PRODUCT_TYPE_configurable>
            <reference name="product.info">
                <action method="setTemplate">
                    <template>my/catalog/product/view_configurable.phtml</template>
                </action>
            </reference>
        </PRODUCT_TYPE_configurable>
        <PRODUCT_TYPE_simple>
            <reference name="product.info">
                <action method="setTemplate">
                    <template>my/catalog/product/view_simple.phtml</template>
                </action>
            </reference>
        </PRODUCT_TYPE_simple>
        <!-- etc... -->
    </layout>
    
    public function controllerActionLayoutRenderBeforeCatalogProductView(Varien_Event_Observer $observer)
    {
        $block = Mage::app()->getLayout()->getBlock('product.info');
        switch ($observer->getProduct()->getYourAttribute())
        {
            case 'Special Products':
                $block->setTemplate('my/catalog/product/view_special.phtml');
                break;
            case 'Regular Products':
                $block->setTemplate('my/catalog/product/view_regular.phtml');
                break;
            case 'Other Products':
                $block->setTemplate('my/catalog/product/view_other.phtml');
                break;
        }
    }