【问题标题】:Output attribute value and text alongside price in Magento在 Magento 中输出属性值和文本以及价格
【发布时间】:2010-11-06 22:05:14
【问题描述】:

嗨

我是 Magento 的新手,但对整个 css、php 还是很陌生。我一直在寻找一个多月来找到这个答案(我确定它在这里某个地方,但我似乎找不到它)

我正在为一家服装公司建立一个 b2b 网站。由于他们是批发商,因此他们不出售单件商品,而是将它们打包出售。根据物品的不同,有些会以一包 2-Small 的形式提供; 2-中等; 2-Large,其他将以 1-Small 包装; 2-中等; 1-大,等等。

到目前为止,我设置了一个名为“Package Set”的属性,它描述了客户在订购商品时将获得的包装类型,但它只出现在 Additional Information 选项卡中,这并不好,因为我们希望这些信息脱颖而出。将它放在简短描述中是一种选择,但我们想更加强调它。

所以我们想要 1. 在价格后面添加文字“每包”。 2. 在价格下方添加属性“Package Set”的值,以便人们在类别和产品页面中都可以清楚地看到它。它看起来像,

“每包 60 美元

套装:2-小; 2-中等; 2-大。”

我正在使用现代主题 运行 1.4.1.1

谢谢

【问题讨论】:

    标签: attributes magento php


    【解决方案1】:

    将文件“app/code/design/frontend/base/default/template/catalog/product/view/price_clone.phtml”复制到目录“app/code/design/frontend/default/modern/template/catalog” /产品/视图/”。这样您就不会覆盖原始文件。

    打开文件进行编辑。在你看到这个之后:

    <?php echo $this->getPriceHtml($_product, false, '_clone') ?>
    

    添加以下内容:

    <?php echo $this->__('per pack') ?>
    

    通过使用函数$this-&gt;__(),您可以轻松翻译文本。最好总是这样做。

    对于第二部分,现在在后面的行中添加这一位:

    <p><?php echo $this->__('Package Set %s', $_product->getPackageSet()) ?></p>
    

    它可能再次被翻译,但这次你的额外属性被插入到它显示%s 的位置。这样做的原因是为了在使用inline translation 时更清楚。该行已被包裹在 &lt;p&gt; 段落标签中,以更加清晰,并确保它出现在自己的行上,而不是在上一行的末尾。
    我假设你的属性有代码“product_set”——在 Magento 中它变成了“camel case”,或者getProductSet。

    最后,您可能希望从“附加信息”选项卡中删除该属性。这很简单,回到 admin 中的 Manage Attributes 页面,编辑您的属性并将“Visible on Product View Page on Front-end”更改为“No”。

    【讨论】:

    • 谢谢,但它不起作用。我尝试在“app/design/frontend/default/modern/template/catalog/product/view/”上添加 __('per pack') ?> 当它不起作用时,我尝试了它在“app/design/frontend/base/default/template/catalog/product/view/price_clone.phtml”上。请指教。谢谢
    • 首先在系统 > 缓存管理中确保缓存完全关闭。转到系统 > 配置。将左上角的下拉控件更改为您正在处理的商店。在左栏的底部单击 Developer,然后在 Debug 部分中打开 Template Path Hints。当您下次查看产品页面时,您将能够看到哪个文件用于价格。这是您可以学习的最有用的技巧之一。另请参阅the designer's guide。
    • 非常感谢!你帮了大忙!我找到了用于价格的文件。我可以输入文本,但在添加属性方面我仍然需要帮助。业主希望我将属性代码更改为“比率”(以便与他们的条款一致)。因此,根据您的指示,我添加了一个代码,

      __('Per Pack of - %s', $_product->getRatio()) ?>

      。它打印出“每包 -”,但没有显示“比率”的值。非常感谢你。我真诚地感谢它。
    • 谢谢发条极客!我让它工作。因为我的属性是一个下拉选择(我应该提到),所以我使用了 getAttributeText('ratio') ?>。再次感谢您!
    • 是的,这会影响它。很好地找到了你自己的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多