2013-07-17 413 views
2

我有一個問題,我認爲它可能適用於許多Magento開發人員和管理員。Price Range Idea - 可配置產品 - 產品清單 - Magento

在我的搜索找到一種方法來顯示可配置產品的價格範圍(見下圖),我想到了一個想法。由於沒有擴展功能可以顯示可配置產品的價格範圍,所以我不知道你們對這個想法有什麼想法。由於我不是一個PHP開發人員,所以我希望你們能夠指出我的方向是否正確。

enter image description here

理念:假設你有一個配置的產品設置了它的價格是所有相關的單個產品的最低價格,我們創建了一個新的屬性和手動輸入相關單品的最高價格。對於許多這種方法可能並不理想,因爲它需要重複輸入數據,但對於許多管理員來說,結果值得額外付出。另外,這個額外的數據輸入可以通過Excel爲許多管理員實現自動化。

現在,在某種程度上發現顯示,在一個.phtml模板文件屬性:

app/design/frontend/base/default/template/catalog/product/price.phtml 

問題是,你們認爲這種做法將工作?會有什麼後果?這個相同的文件是否會在購物車內產生價格,或其他一些不必要的後果?

如果這樣做的工作,我想以下的邏輯:在可變

  • 從數據庫和存儲值

    1. 查找產品的屬性,如果變量大於零,回聲「大 - ‘$’$變量「;

    這樣,沒有任何此變量數據的簡單產品就不會顯示價格範圍。

    如果這種方法可行,那麼如何在price.phtml文件中最有效地從數據庫檢索這個自定義屬性?

    請查看下面的整個price.phtml文件。我已包含評論<!--Here test test-->以指出價格在我的頁面上對所有可配置產品和簡單產品的迴應。

    非常感謝您的幫助!

    首先,你們怎麼看待這種方法?

    <?php 
    /** 
    * Template for displaying product price in different places (products grid, product  view page etc) 
    * 
    * @see Mage_Catalog_Block_Product_Abstract 
    */ 
    ?> 
    <?php 
        $_coreHelper = $this->helper('core'); 
        $_weeeHelper = $this->helper('weee'); 
        $_taxHelper = $this->helper('tax'); 
        /* @var $_coreHelper Mage_Core_Helper_Data */ 
        /* @var $_weeeHelper Mage_Weee_Helper_Data */ 
        /* @var $_taxHelper Mage_Tax_Helper_Data */ 
    
        $_product = $this->getProduct(); 
        $_storeId = $_product->getStoreId(); 
        $_id = $_product->getId(); 
        $_weeeSeparator = ''; 
        $_simplePricesTax = ($_taxHelper->displayPriceIncludingTax() || $_taxHelper->displayBothPrices()); 
        $_minimalPriceValue = $_product->getMinimalPrice(); 
        $_minimalPrice = $_taxHelper->getPrice($_product, $_minimalPriceValue,  $_simplePricesTax); 
    ?> 
    
    <?php if (!$_product->isGrouped()): ?> 
        <?php $_weeeTaxAmount = $_weeeHelper->getAmountForDisplay($_product); ?> 
        <?php if ($_weeeHelper->typeOfDisplay($_product, array(Mage_Weee_Model_Tax::DISPLAY_INCL_DESCR, Mage_Weee_Model_Tax::DISPLAY_EXCL_DESCR_INCL, 4))): ?> 
         <?php $_weeeTaxAmount = $_weeeHelper->getAmount($_product); ?> 
         <?php $_weeeTaxAttributes = $_weeeHelper->getProductWeeeAttributesForDisplay($_product); ?> 
        <?php endif; ?> 
        <?php $_weeeTaxAmountInclTaxes = $_weeeTaxAmount; ?> 
        <?php if ($_weeeHelper->isTaxable() && !$_taxHelper->priceIncludesTax($_storeId)): ?> 
         <?php $_attributes = $_weeeHelper->getProductWeeeAttributesForRenderer($_product, null, null, null, true); ?> 
         <?php $_weeeTaxAmountInclTaxes = $_weeeHelper->getAmountInclTaxes($_attributes); ?> 
        <?php endif; ?> 
    
        <div class="price-box"> 
        <?php $_price = $_taxHelper->getPrice($_product, $_product->getPrice()) ?> 
        <?php $_regularPrice = $_taxHelper->getPrice($_product, $_product->getPrice(), $_simplePricesTax) ?> 
        <?php $_finalPrice = $_taxHelper->getPrice($_product, $_product->getFinalPrice()) ?> 
        <?php $_finalPriceInclTax = $_taxHelper->getPrice($_product, $_product->getFinalPrice(), true) ?> 
        <?php $_weeeDisplayType = $_weeeHelper->getPriceDisplayType(); ?> 
        <?php if ($_finalPrice >= $_price): ?> 
         <?php if ($_taxHelper->displayBothPrices()): ?> 
          <?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 0)): // including ?> 
           <span class="price-excluding-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> 
            </span> 
           </span> 
           <span class="price-including-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
            <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
            </span> 
           </span> 
          <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> 
           <span class="price-excluding-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> 
            </span> 
           </span> 
           <span class="price-including-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
            <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
            </span> 
            <span class="weee">(
             <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
              <?php echo $_weeeSeparator; ?> 
              <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
              <?php $_weeeSeparator = ' + '; ?> 
             <?php endforeach; ?> 
             )</span> 
           </span> 
          <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> 
           <span class="price-excluding-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> 
            </span> 
           </span> 
           <span class="price-including-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
            <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
            </span> 
            <span class="weee">(
             <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
              <?php echo $_weeeSeparator; ?> 
              <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute->getTaxAmount(), true, true); ?> 
              <?php $_weeeSeparator = ' + '; ?> 
             <?php endforeach; ?> 
            )</span> 
           </span> 
          <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> 
           <span class="price-excluding-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_price, true, false) ?> 
            </span> 
           </span> 
           <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
            <span class="weee"> 
             <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
            </span> 
           <?php endforeach; ?> 
           <span class="price-including-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
            <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
            </span> 
           </span> 
          <?php else: ?> 
           <span class="price-excluding-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php if ($_finalPrice == $_price): ?> 
             <?php echo $_coreHelper->currency($_price, true, false) ?> 
             <?php else: ?> 
             <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
             <?php endif; ?> 
            </span> 
           </span> 
           <span class="price-including-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
            <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> 
            </span> 
           </span> 
          <?php endif; ?> 
         <?php else: ?> 
          <?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 0)): // including ?> 
           <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
            <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
           </span> 
          <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> 
           <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
            <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
           </span> 
           <span class="weee">(
            <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
             <?php echo $_weeeSeparator; ?> 
             <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
             <?php $_weeeSeparator = ' + '; ?> 
            <?php endforeach; ?> 
            )</span> 
          <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> 
           <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
            <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
           </span> 
           <span class="weee">(
            <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
             <?php echo $_weeeSeparator; ?> 
             <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute->getTaxAmount(), true, true); ?> 
             <?php $_weeeSeparator = ' + '; ?> 
            <?php endforeach; ?> 
            )</span> 
          <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> 
           <span class="regular-price"><?php echo $_coreHelper->currency($_price,true,true) ?></span><br /> 
           <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
            <span class="weee"> 
             <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
           </span> 
          <?php endforeach; ?> 
          <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
          </span> 
         <?php else: ?> 
          <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php if ($_finalPrice == $_price): // this is where price is generated ?> <!--Here test test--> 
            <?php echo $_coreHelper->currency($_price, true, true) ?> 
           <?php else: ?> 
            <?php echo $_coreHelper->currency($_finalPrice, true, true) ?> 
           <?php endif; ?> 
          </span> 
         <?php endif; ?> 
        <?php endif; ?> 
    <?php else: /* if ($_finalPrice == $_price): */ ?> 
        <?php $_originalWeeeTaxAmount = $_weeeHelper->getOriginalAmount($_product); ?> 
    
        <?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 0)): // including ?> 
         <p class="old-price"> 
          <span class="price-label"><?php echo $this->__('Regular Price:') ?></span> 
          <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> 
          </span> 
         </p> 
    
         <?php if ($_taxHelper->displayBothPrices()): ?> 
          <p class="special-price"> 
           <span class="price-label"><?php echo $this->__('Special Price:') ?></span> 
           <span class="price-excluding-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> 
            </span> 
           </span> 
          <span class="price-including-tax"> 
           <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
           <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
            <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
           </span> 
          </span> 
          </p> 
         <?php else: ?> 
         <p class="special-price"> 
          <span class="price-label"><?php echo $this->__('Special Price:') ?></span> 
          <span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmountInclTaxes, true, false) ?> 
          </span> 
         </p> 
         <?php endif; ?> 
    
        <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> 
         <p class="old-price"> 
          <span class="price-label"><?php echo $this->__('Regular Price:') ?></span> 
          <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> 
          </span> 
         </p> 
    
         <p class="special-price"> 
          <span class="price-label"><?php echo $this->__('Special Price:') ?></span> 
          <span class="price-excluding-tax"> 
           <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
           <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
            <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> 
           </span> 
          </span> 
         <span class="weee">(
          <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
           <?php echo $_weeeSeparator; ?> 
           <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
           <?php $_weeeSeparator = ' + '; ?> 
          <?php endforeach; ?> 
          )</span> 
         <span class="price-including-tax"> 
          <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
          <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
          </span> 
         </span> 
         </p> 
        <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> 
         <p class="old-price"> 
          <span class="price-label"><?php echo $this->__('Regular Price:') ?></span> 
          <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> 
          </span> 
         </p> 
    
         <p class="special-price"> 
          <span class="price-label"><?php echo $this->__('Special Price:') ?></span> 
          <span class="price-excluding-tax"> 
           <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
           <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
            <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> 
           </span> 
          </span> 
         <span class="weee">(
          <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
           <?php echo $_weeeSeparator; ?> 
           <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute->getTaxAmount(), true, true); ?> 
           <?php $_weeeSeparator = ' + '; ?> 
          <?php endforeach; ?> 
          )</span> 
         <span class="price-including-tax"> 
          <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
          <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
          </span> 
         </span> 
         </p> 
        <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> 
         <p class="old-price"> 
          <span class="price-label"><?php echo $this->__('Regular Price:') ?></span> 
          <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_regularPrice, true, false) ?> 
          </span> 
         </p> 
    
         <p class="special-price"> 
          <span class="price-label"><?php echo $this->__('Special Price:') ?></span> 
          <span class="price-excluding-tax"> 
           <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
           <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
            <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
           </span> 
          </span> 
          <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
           <span class="weee"> 
            <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
           </span> 
          <?php endforeach; ?> 
          <span class="price-including-tax"> 
           <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
           <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
            <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
           </span> 
          </span> 
         </p> 
        <?php else: // excl. ?> 
         <p class="old-price"> 
          <span class="price-label"><?php echo $this->__('Regular Price:') ?></span> 
          <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_regularPrice, true, false) ?> 
          </span> 
         </p> 
    
         <?php if ($_taxHelper->displayBothPrices()): ?> 
          <p class="special-price"> 
           <span class="price-label"><?php echo $this->__('Special Price:') ?></span> 
           <span class="price-excluding-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
            </span> 
           </span> 
           <span class="price-including-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span> 
            <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> 
            </span> 
           </span> 
          </p> 
         <?php else: ?> 
         <p class="special-price"> 
          <span class="price-label"><?php echo $this->__('Special Price:') ?></span> 
          <span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
          </span> 
         </p> 
         <?php endif; ?> 
        <?php endif; ?> 
    
    <?php endif; /* if ($_finalPrice == $_price): */ ?> 
    
    <?php if ($this->getDisplayMinimalPrice() && $_minimalPriceValue && $_minimalPriceValue  < $_product->getFinalPrice()): ?> 
    
        <?php $_minimalPriceDisplayValue = $_minimalPrice; ?> 
        <?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, array(0, 1, 4))): ?> 
         <?php $_minimalPriceDisplayValue = $_minimalPrice + $_weeeTaxAmount; ?> 
        <?php endif; ?> 
    
        <?php if ($this->getUseLinkForAsLowAs()):?> 
        <a href="<?php echo $_product->getProductUrl(); ?>" class="minimal-price-link"> 
        <?php else:?> 
        <span class="minimal-price-link"> 
        <?php endif?> 
         <span class="label"><?php echo $this->__('As low as:') ?></span> 
         <span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
          <?php echo $_coreHelper->currency($_minimalPriceDisplayValue, true, false) ?> 
         </span> 
        <?php if ($this->getUseLinkForAsLowAs()):?> 
        </a> 
        <?php else:?> 
        </span> 
        <?php endif?> 
    <?php endif; /* if ($this->getDisplayMinimalPrice() && $_minimalPrice && $_minimalPrice  < $_finalPrice): */ ?> 
    </div> 
    
    <?php else: /* if (!$_product->isGrouped()): */ ?> 
    <?php 
    $_exclTax = $_taxHelper->getPrice($_product, $_minimalPriceValue); 
    $_inclTax = $_taxHelper->getPrice($_product, $_minimalPriceValue, true); 
    ?> 
    <?php if ($this->getDisplayMinimalPrice() && $_minimalPriceValue): ?> 
        <div class="price-box"> 
         <p class="minimal-price"> 
          <span class="price-label"><?php echo $this->__('Starting at:') ?></span> 
          <?php if ($_taxHelper->displayBothPrices()): ?> 
           <span class="price-excluding-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span> 
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_exclTax, true, false) ?> 
            </span> 
           </span> 
           <span class="price-including-tax"> 
            <span class="label"><?php echo $this->helper('tax')->__('Incl.  Tax:') ?></span> 
            <span class="price" id="price-including-tax-<?php echo $_id ?><?php  echo $this->getIdSuffix() ?>"> 
             <?php echo $_coreHelper->currency($_inclTax, true, false) ?> 
            </span> 
           </span> 
          <?php else: ?> 
           <?php 
           $_showPrice = $_inclTax; 
           if (!$_taxHelper->displayPriceIncludingTax()) { 
            $_showPrice = $_exclTax; 
           } 
           ?> 
          <span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
           <?php echo $_coreHelper->currency($_showPrice, true, false) ?> 
          </span> 
          <?php endif; ?> 
         </p> 
        </div> 
    <?php endif; /* if ($this->getDisplayMinimalPrice() && $_minimalPrice): */ ?> 
    <?php endif; /* if (!$_product->isGrouped()): */ ?> 
    
  • 回答

    1

    好吧,所以我得到它的工作,它顯示正確的網站的所有領域。但是,我希望有人能夠改進這一點,因爲我不是一個PHP開發人員,我相信有更好的方法來完成我所做的。

    這裏是我做的一步一步:

    第一:創建價格的副本。PHTML文件,並將其存儲在你的主題目錄

    原始文件:

    app/design/frontend/base/default/template/catalog/product/price.phtml 
    

    新文件:

    app/design/frontend/{package}/{theme}/template/catalog/product/price.phtml 
    

    二:主題下打開price.phtml。轉到第200行。以下是在我所有簡單和可配置產品上生成價格的代碼。希望你也是如此。

    <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
         <?php if ($_finalPrice == $_price): ?> 
          <?php echo $_coreHelper->currency($_price, true, true) ?> 
    

    三。創建一個新的屬性。我叫我的「Price From」屬性代碼爲「price_from」

    四。此行之前插入這行代碼在你price.phtml文件:<?php echo $_coreHelper->currency($_price, true, true) ?>

    代碼中插入:

    <?php $priceFrom = Mage::getResourceModel('catalog/product')->getAttributeRawValue($_id, 'price_from', 1); ?> 
    

    在這行代碼中,變量$ priceForm被創建並分配的值屬性的屬性代碼「price_from」給出$ _id(在price.phtml中爲您計算的創建ID變量)和商店ID(在我的情況下爲1)。

    五。從那裏,我想大多數人可以找出其餘的,但這裏是我的price.phtml編輯。

     <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
         <?php if ($_finalPrice == $_price): ?> 
           <?php $priceFrom = Mage::getResourceModel('catalog/product')->getAttributeRawValue($_id, 'price_from', 1); ?> 
           <?php $formattedPrice = round($priceFrom,2); ?> 
           <?php echo $_coreHelper->currency($_price, true, true) ?> 
           <?php if ($priceFrom > 0): ?><span class="price price-from"> - <?php echo '$'; ?><?php echo $formattedPrice; ?></span><?php endif; ?> 
    

    第六。然後,由於這個price.phtml也爲產品頁面上的價格生成HTML,所以我使用CSS在產品頁面上隱藏了我添加的HTML。 CSS如下:

     .product-type-data .price-box .price.price-from { 
         display: none; 
        } 
    

    而你有它。如果有人以更好的方式發表了一些批評,我會非常喜歡。也許這會導致一些我還沒注意到的問題。

    謝謝大家!

    相關問題