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