2010-09-14 2 views
5

Я хочу показать цену продукта только один раз на странице продукта Magento. В настоящее время он отображается дважды.Показать цену Однажды на странице продукта Magento

Я попытался изменить app/design/frontend/base/default/template/catalog/product/price.phtml, , но не понял. Я также пробовал app/design/frontend/base/default/template/catalog/view.phtml, но когда я отредактировал price.phtml, цена не вверх.

Так как я могу это сделать? Есть идеи?

Спасибо.

ответ

12

Это зависит от того, какой из них вы хотите сохранить. Цена в верхней части страницы обычно отображается как часть «данных типа продукта». Взгляните на template/catalog/product/view/type/simple.phtml, где вы должны увидеть $this->getPriceHtml($_product);.

Цена в нижней части страницы каталога немного сложнее. Если вы посмотрите на layout/catalog.xml, ценовой блок (product.clone_prices) добавляется к блоку product.info.options.wrapper.bottom, который затем добавляется к product.info.container1 и product.info.container2. В зависимости от продукта один из них будет отображаться на странице. Однако вы можете просто удалить строку для product.clone_prices, и это должно удалить цену.

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

Спасибо, Джо

+0

хорошо, работал для меня , –

0

Цена блоки определены в файлах макета (XML), вам просто нужно позвонить им в файлах шаблонов, чтобы заставить их показать.

В вашем случае кажется, что вы, возможно, определили их дважды из двух связанных файлов XML в одном блоке или в одном файле и двух связанных разделах/представлениях. Это означает, что когда вы вызываете функцию $this->getPriceHtml($_product); Парсер XMl загружает цену дважды из двух разных файлов (привязанных к определенному блоку).

Кроме того, я заметил это в catalog.xml файле:

<block type="catalog/product_view" name="product.clone_prices" as="prices" template="catalog/product/view/price_clone.phtml"/> 

Если это то, что вы ищете, то просто экспериментировать с блоками в файлах XML.

3

Вместо удаления клонированной цены от самого catalog.xml, как это было предложено Иосифом, более чистый способ, чтобы удалить блок в вашем local.xml файл макет:

<catalog_product_view> 
    <reference name="product.info.container2"> 
     <remove name="product.clone_prices"/> 
    </reference> 
</catalog_product_view> 
+0

Вы должны использовать «ссылку» вместо «block», и она работает. – mimarcel

+0

Спасибо! Я обновил код. –

Смежные вопросы