我正在用opencart 1.5.5.1建立一个商店(我是新手)我遇到了一个小问题:
我的任何主要类别页面都是这样的:
优化搜索:
-Subcategory1
-Subcategory2
-Subcategory3
产品1产品2产品3 ...
子类别1,2和3是子类别页面的链接。
我希望我的主要类别页面是:
的子类别1
的
产品1产品2产品3 .......
Subcategory2
产品1产品2产品3 .......
Subcategory3
产品1产品2产品3 .......
子类别1,2和3不再是子类别页面的链接,而是简单文本。
我找到了这个扩展程序:http://www.opencart.com/index.php?route=extension/extension/info&token=b4381909f29ca2d2511830b09f09fa84&extension_id=11190但也许有人可以帮助我而不必支付15美元
有人可以帮我吗?
答案 0 :(得分:5)
→好的,所以我将逐步完成这一步骤,在步骤之间提出问题,或者如果你得到了这一步,就投票支持这一步:
第1步:
打开以下文件:
catelog/controller/product/category.php
首先保存这个文件的备份然后继续进行!
在第271行附近您应该看到:
$this->data['categories'][] = array(
'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
);
将以上代码更改为:
$this->data['categories'][] = array(
'category_id' => $result['category_id'], /*!!!*/
'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
);
第2步:
打开您在步骤1中执行的相同文件:
catelog/controller/product/category.php
首先保存这个文件的备份然后继续进行!
在第271行附近你应该看到:
$this->data['categories'][] = array(
'category_id' => $result['category_id'], /*!!!*/
'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
);
}
/* New code will be pasted here! */
$this->data['products'] = array();
显然,这是我们在第1步中处理的代码,但您现在要做的是在最后一个'}'之后但在'$ this-> data ['之前复制并粘贴以下代码products'] = array();'
$this->data['products_all'] = array();
for( $x = 0; $x < count( $this->data['categories'] ); $x++ ) {
$cat = $this->data['categories'][ $x ][ 'category_id' ];
$this->data['products_all'][ $cat ] = array();
$data = array(
'filter_category_id' => $cat,
'sort' => $sort,
'order' => $order,
'start' => ($page - 1) * $limit,
'limit' => $limit
);
$product_total = $this->model_catalog_product->getTotalProducts($data);
$results = $this->model_catalog_product->getProducts($data);
foreach ($results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
}
else { $image = false; }
if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
}
else { $price = false; }
if ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
}
else { $special = false; }
if ($this->config->get('config_tax')) {
$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
}
else { $tax = false; }
if ($this->config->get('config_review_status')) {
$rating = (int)$result['rating'];
}
else { $rating = false; }
$this->data['products_all'][ $cat ][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
'price' => $price,
'special' => $special,
'tax' => $tax,
'rating' => $result['rating'],
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])
);
}
}
第3步:
打开以下文件:
catalog/view/theme/default/template/product/category.tpl
首先保存这个文件的备份然后继续进行!
在第19行的某处你应该看到:
<?php if ($categories) { ?>
<h2><?php echo $text_refine; ?></h2>
<div class="category-list">
<?php if (count($categories) <= 5) { ?>
<ul>
<?php foreach ($categories as $category) { ?>
<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
<?php } ?>
</ul>
<?php } else { ?>
将以上代码更改为:
<?php if ($categories) { ?>
<div class="category-list">
<?php
if ( count( $categories ) <= 5 ) {
foreach ( $categories as $k=>$category ) {
if( $k > 0 ) echo '<br /><br />';
echo '<div class="product-filter" style="background:#222;padding:5px;padding-bottom:2px">';
echo '<a href="' . $category['href'] . '" style="font-size:21px;text-decoration:none;"><h2 style="color:#eee;font-style:italic"><span style="color:#777;position:relative;bottom:2px">→ </span><span style="border-bottom:solid 1px #777;">' . $category['name'] . '</span>:</h2></a>';
echo '</div>';
echo '<hr style="border:none;border-top:solid 1px #eee"/>';
echo '<div class="product-list">';
foreach ( $products_all[ $category['category_id'] ] as $product )
{
echo '<div>';
if ( $product['thumb'] ) {
echo '<div class="image"><a href="' . $product['href'] . '"><img src="' . $product['thumb'] . '" title="' . $product['name'] . '" alt="' . $product['name'] . '" /></a></div>';
}
echo '<div class="name"><a href="' . $product['href'] . '">' . $product['name'] . '</a></div>';
echo '<div class="description">' . $product['description'] . '</div>';
if ( $product['price'] ) {
echo '<div class="price">';
if ( !$product['special'] ) { echo $product['price']; }
else { echo '<span class="price-old">' . $product['price'] . '</span> <span class="price-new">' . $product['special'] . '</span>'; }
if ( $product['tax'] ) { echo '<br /><span class="price-tax">' . $text_tax . ' ' . $product['tax'] . '</span>'; }
echo '</div>';
}
if ( $product['rating'] ) {
echo '<div class="rating"><img src="catalog/view/theme/default/image/stars-' . $product['rating'] . '.png" alt="' . $product['reviews'] . '" /></div>';
}
echo '<div class="cart">';
echo '<input type="button" value="' . $button_cart . '" onclick="addToCart(\'' . $product['product_id'] . '\');" class="button" />';
echo '</div>';
echo '<div class="wishlist"><a onclick="addToWishList(\'' . $product['product_id'] . '\');">' . $button_wishlist . '</a></div>';
echo '<div class="compare"><a onclick="addToCompare(\'' . $product['product_id'] . '\');">' . $button_compare . '</a></div>';
echo '</div>';
}
echo '</div>';
}
?>
<?php } else { ?>
答案 1 :(得分:0)
opencart 2怎么样?如果我喜欢你,我会
注意:未定义的偏移量:第59行的.. \ category.tpl中的60 警告:第59行的.. \ category.tpl中为foreach()提供的参数无效