2013-01-11 82 views
0

我有一個奇怪的問題與下面的腳本。我一整天都在努力。我試圖在Magento購物車的產品視圖頁面的側欄中顯示每個類別的暢銷商品。這個腳本在IE(全部)中起作用但不一樣。實際上,IE瀏覽器正確,我嘗試過的每一個瀏覽器都是錯誤的。奇怪的PHP現象在Magento產品查看頁面得到解釋不同瀏覽器

這是問題所在。這是PHP和PHP被假設爲服務器端語言。但是看起來IE看到的是不同的信息。下面,你會注意到我有一個部分周圍的紅色邊框和另一部分周圍的綠色邊框。 IE獲取紅色邊框,其餘的獲得綠色邊框。紅色邊框有「類別名稱」,它在IE中工作,但綠色邊框......如果我把類別名稱的腳本打印出錯誤信息。

除多個「被零除」警告我得到(不知道爲什麼),我想知道爲什麼是兩個種類的瀏覽器得到兩個不同的消息,如果PHP是一個服務器端語言!?

感謝

<?php 

/** 
* @author Branko Ajzele | http://activecodeline.com | [email protected] 
* @license GPL 
*/ 

/** 
* 
* 
05/06/2011 Modified by Erik Gabor | [email protected] | http://www.mage-contacts.com 
* @license GPL 

*/ 

$storeId = Mage::app()->getStore()->getId(); 

$totalPerPage = ($this->show_total) ? $this->show_total :1; 
$counter = 1; 
$visibility = array(
         Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH, 
         Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG 
       ); 

$storeId = Mage::app()->getStore()->getId(); 
$_productCollection = Mage::getResourceModel('reports/product_collection') 
           ->addAttributeToSelect('*') 
           ->setStoreId($storeId) 
        ->addStoreFilter($storeId) 
           ->addOrderedQty() 
           ->addAttributeToFilter('visibility', $visibility); 


     if ($current_category = Mage::registry('current_category')) 
    $_productCollection->addCategoryFilter($current_category); 
    $_productCollection->setPage(1,$totalPerPage); 
     $_productCollection->setOrder('ordered_qty', 'desc'); 

     Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($_productCollection); 
     Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($_productCollection); 

     $_helper = $this->helper('catalog/output'); 


//Mage_Reports_Model_Mysql4_Product_Collection 
?> 

<?php 

/** 
* Each product in foreach loop is array of following fields 
* 

Array 
(
    [ordered_qty] => 2.0000 
    [entity_id] => 150 
    [entity_type_id] => 10 
    [attribute_set_id] => 62 
    [type_id] => simple 
    [sku] => 500gb7200 
    [category_ids] => 29,36 
    [created_at] => 2008-07-25 01:12:44 
    [updated_at] => 2008-07-25 02:09:26 
    [has_options] => 0 
    [visibility] => 4 
    [hardrive] => 500 GB 
    [meta_keyword] => 
    [description] => 500GB- 7200RPM, SATA 3.0Gb/s, 32MB Cache 
    [short_description] => 500GB - 7200RPM, SATA 3.0Gb/s, 32MB Cache 
    [custom_layout_update] => 
    [status] => 1 
    [tax_class_id] => 1 
    [manufacturer] => 118 
    [weight] => 1.0000 
    [price] => 299.0000 
    [name] => Western Digital 500GB HD - 7200RPM 
    [url_key] => 500gb-7200rpm 
    [gift_message_available] => 2 
    [harddrive_speed] => 7200 rpm 
    [meta_title] => 
    [meta_description] => 
    [thumbnail] => /w/e/western-digital-500gb-hd-7200rpm.jpg 
    [small_image] => /w/e/western-digital-500gb-hd-7200rpm.jpg 
    [image] => /w/e/western-digital-500gb-hd-7200rpm.jpg 
    [custom_design] => 
    [options_container] => container2 
    [stock_item (Mage_CatalogInventory_Model_Stock_Item)] => Array 
     (
      [item_id] => 119 
      [product_id] => 150 
      [stock_id] => 1 
      [qty] => 999994.0000 
      [min_qty] => 0.0000 
      [use_config_min_qty] => 1 
      [is_qty_decimal] => 0 
      [backorders] => 0 
      [use_config_backorders] => 1 
      [min_sale_qty] => 1.0000 
      [use_config_min_sale_qty] => 1 
      [max_sale_qty] => 0.0000 
      [use_config_max_sale_qty] => 1 
      [is_in_stock] => 1 
      [low_stock_date] => 0000-00-00 00:00:00 
      [use_config_notify_stock_qty] => 1 
      [manage_stock] => 0 
      [use_config_manage_stock] => 1 
      [product (Mage_Catalog_Model_Product)] => *** RECURSION *** 
     ) 

    [is_salable] => 1 
) 


*/ 
$_collectionSize = $_productCollection->count(); 


if($current_category && $_collectionSize) : 

?> 
<div class="block" style="border:1px solid red"> 
<div class="block-title"> 
<strong><span><?php echo $current_category->getName() ?> <?php echo $this->__('Bestseller') ?></span></strong> 
</div> 
<?php else: ?> 
<div class="block" style="border:1px solid green"> 
<div class="block-title"> 
<strong><span> <?php echo $this->__('Bestseller') ?></span></strong> 
</div> 
<?php endif;?> 
    <?php $_collectionSize = $_productCollection->count() ?> 
    <?php $_columnCount = $this->getColumnCount(); ?> 
    <?php $i=0; foreach ($_productCollection as $_product): ?> 
     <?php if ($i++%$_columnCount==0): ?> 
     <ul> 
     <?php endif ?> 
      <li class=""> 
       <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(195); ?>" width="195" height="284" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a> 

       <h2 class="product-name" style="float:left;width:180px;margin:7px"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></a></h2> 
       <div style="float:left;width:180px;margin:7px"> 
       <?php if($_product->getRatingSummary()): ?> 
       <?php echo $this->getReviewsSummaryHtml($_product, 'short') ?> 
       <?php endif; ?> 
       <?php echo Mage::helper('core')->currency($_product->getPrice()) ?> 

        <?php if($_product->isSaleable()): ?> 
         <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo Mage::getUrl('checkout/cart/add', array('product' => $_product->getId())) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button> 
        <?php else: ?> 
         <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> 
        <?php endif; ?> 
        <ul class="add-to-links"> 
         <?php if ($this->helper('wishlist')->isAllow()) : ?> 
          <li><a id="wish" href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li> 
         <?php endif; ?> 
         <?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?> 
          <li><a id="compare" href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li> 
         <?php endif; ?> 
        </ul> 
       </div> 
      </li> 
     <?php if ($i%$_columnCount==0 || $i==$_collectionSize): ?> 
     </ul> 
</div> 
     <?php endif ?> 
     <?php endforeach ?> 

回答

0

有沒有足夠的信息來快速調試您的問題(這是哪裏的代碼,它是如何運行的),但這裏的兩個快速的建議,可能你指出正確的方向。

首先,保存您的網絡瀏覽器(不是各種網絡檢查器,它有時會將DOM按摩到正確的形式)的源代碼(使用視圖 - >源代碼),並區分兩個瀏覽器的輸出。您可能會遇到輸出完全相同的情況,但瀏覽器頁面中的CSS規則和JavaScript結果有所不同。

如果在頁面的差異,那麼什麼是有可能發生的事情是瀏覽器發送不同的信息從IE到PHP與你的其他瀏覽器和/或沒有在你的PHP會議在不同的瀏覽器導致的不同的信息PHP代碼提出不同的結果。

希望有所幫助。

+0

我查看了兩個不同瀏覽器的源輸出,其中一個顯示了另一個不同的html。我已經刪除了我的Magento var/session文件夾中的所有會話。我刪除了所有瀏覽器的歷史記錄和Cookie。我刪除了所有重新索引。可能是像顯示器一樣的CSS,但不僅僅是一個特定的瀏覽器。它按原樣工作,但一個瀏覽器顯示類別名稱,其他瀏覽器不顯示。我只想在塊頭上有類別名稱,但我已經嘗試了每個可以在網絡上找到的腳本,而且在這種情況下它們都不起作用。 – qrs