Magento: Price on request / Preis auf Anfrage

# create file: default.phtml.price-on-request.diff
--- /var/www/app/design/frontend/base/default/template/checkout/cart/item/default.phtml	2010-09-30 12:19:38.000000000 +0200
+++ /var/www/app/design/frontend/default/default/template/checkout/cart/item/default.phtml	2010-09-30 12:22:33.000000000 +0200
@@ -121,11 +121,15 @@
             <span class="cart-price">
         <?php endif; ?>
 
+        <?php if ($_item->getPrice() > 0): ?>
             <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
                 <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
             <?php else: ?>
                 <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
             <?php endif; ?>
+        <?php else: ?>
+            <?php  echo $this->__('Price on request'); ?>
+        <?php endif; ?>
 
         </span>
         <?php if (Mage::helper('weee')->getApplied($_item)): ?>
@@ -215,11 +219,15 @@
             <span class="cart-price">
         <?php endif; ?>
 
+        <?php if ($_item->getPrice() > 0): ?>
             <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
                 <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
             <?php else: ?>
                 <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
             <?php endif; ?>
+        <?php else: ?>
+            <?php  echo $this->__('Price on request'); ?>
+        <?php endif; ?>
 
         </span>
 
 
# create file: price.phtml_price_on_request.diff
--- ./app/design/frontend/base/default/template/catalog/product/price.phtml	2010-09-29 17:35:01.000000000 +0200
+++ ./app/design/frontend/default/default/template/catalog/product/price.phtml	2010-10-07 14:12:25.000000000 +0200
@@ -191,7 +191,11 @@
                 </span>
             <?php else: ?>
                 <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
-                    <?php echo $_coreHelper->currency($_price,true,true) ?>
+                    <?php if ($_price > 0): ?>
+                        <?php echo $_coreHelper->currency($_price,true,true) ?>
+                    <?php else: ?>
+                        <span class="price"><?php  echo $this->__('Price on request'); ?></span>
+                    <?php endif; ?>
                 </span>
             <?php endif; ?>
         <?php endif; ?>
 
# add patch
if [ ! -f "./app/design/frontend/default/default/template/catalog/product/price.phtml" ]; then
   mkdir -p ./app/design/frontend/default/default/template/catalog/product/
   cp ./app/design/frontend/base/default/template/catalog/product/price.phtml ./app/design/frontend/default/default/template/catalog/product/price.phtml
fi
patch -p2 ./app/design/frontend/default/default/template/catalog/product/price.phtml < price.phtml_price_on_request.diff
 
if [ ! -f "./app/design/frontend/default/default/template/checkout/cart/item/default.phtml" ]; then
   mkdir -p ./app/design/frontend/default/default/template/checkout/cart/item/
   cp ./app/design/frontend/base/default/template/checkout/cart/item/default.phtml ./app/design/frontend/default/default/template/checkout/cart/item/default.phtml
fi
patch -p2 ./app/design/frontend/default/default/template/checkout/cart/item/default.phtml < default.phtml.price-on-request.diff
 
# add translations
echo "Price on request","Preis auf Anfrage" > ./app/locale/de_DE/Mage_Catalog.csv
echo "Price on request","Prix sur demande" > ./app/locale/fr_FR/Mage_Catalog.csv