以下のスクリプトに奇妙な問題があります。私は一日中それに取り組んできました。Magento ショッピング カートの製品ビュー ページのサイド ブロックにカテゴリごとのトップセラーを表示しようとしています。このスクリプトは機能しますが、IE (すべて) では同じではありません。実際、IE は正しく、私が試した他のすべてのブラウザは正しくありません。
これが問題です。それはphpであり、phpはサーバー側の言語であると想定されています。しかし、IE は別のメッセージを受け取っているようです。以下では、ある部分の周りに赤い境界線があり、別の部分の周りに緑の境界線があることに気付くでしょう. IE は赤い境界線を取得し、残りは緑の境界線を取得します。赤い境界線には「カテゴリ名」があり、IE で動作しますが、緑色の境界線...カテゴリ名のスクリプトを配置すると、エラー メッセージが出力されます。
複数の「ゼロ除算」警告を除いて(理由はわかりません)、phpがサーバー側言語である場合、2種類のブラウザが2つの異なるメッセージを受け取る理由を知りたいです!?
ありがとう
<?php
/**
* @author Branko Ajzele | http://activecodeline.com | branko.ajzele@surgeworks.com
* @license GPL
*/
/**
*
*
05/06/2011 Modified by Erik Gabor | erikvail@gmail.com | 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 ?>