Magento-覆盖层a';间隙';清除类别中所有产品上的图标

Magento-覆盖层a';间隙';清除类别中所有产品上的图标,magento,Magento,我想在我的许可类别中列出的所有产品上覆盖一个“许可”图标 用户显然将浏览其出现在中的其他类别下的产品 因此,我认为当在每页上列出产品时,我需要检查它属于哪些其他类别,如果它处于“清除”状态,则需要添加一些额外的标记 我很好的造型后。即使我可以加上 在产品图像下方,我可以为其指定一个背景图像,并将其浮动/定位到我需要的位置 我担心使用Magento时,我通常知道我想写什么代码/逻辑,只是不知道在哪里写 有人能帮忙吗? 我正在使用Magento 1.6查看分类页面的源代码,body元素应该已经有一

我想在我的许可类别中列出的所有产品上覆盖一个“许可”图标

用户显然将浏览其出现在中的其他类别下的产品

因此,我认为当在每页上列出产品时,我需要检查它属于哪些其他类别,如果它处于“清除”状态,则需要添加一些额外的标记

我很好的造型后。即使我可以加上
在产品图像下方,我可以为其指定一个背景图像,并将其浮动/定位到我需要的位置

我担心使用Magento时,我通常知道我想写什么代码/逻辑,只是不知道在哪里写

有人能帮忙吗?
我正在使用Magento 1.6查看分类页面的源代码,body元素应该已经有一些有用的类名,比如
分类清除(从URL键推导而来),您可以直接在样式表中使用它们。按照您的建议添加DIV元素,然后使用以下样式设置其样式:

.category-clearance .clearance-tag {
    background-image: url(etc...)
}


这是一个非常有用的技巧,几乎所有页面上的类名都是自动的。例如,主页由CMS模块提供服务,因此会获得一个类名
CMS home
——这意味着您可以创建特定于主页的样式。

查看类别页面的源代码,body元素应该已经有一些有用的类名,如
类别清除
(从URL键推断)您可以直接在样式表中使用它。按照您的建议添加DIV元素,然后使用以下样式设置其样式:

.category-clearance .clearance-tag {
    background-image: url(etc...)
}

这是一个非常有用的技巧,几乎所有页面上的类名都是自动的。例如,主页由CMS模块提供服务,因此获得一个类名
CMS home
——这意味着您可以创建特定于主页的样式。

做到了。这是怎么做的

1) 从基础复制文件:

app/design/frontend/base/default/template/catalog/product/list.phtml app/design/frontend/base/default/template/catalog/product/view.phtml

到您的自定义设计包

app/design/frontend/mydesignpackage/default/template/catalog/product/list.phtml app/design/frontend/mydesignpackage/default/template/catalog/product/view.phtml

列表中.phtml查找行(第86行附近)


然后立即插入以下代码:

<?php 
//get all categories associated with this product
$categories = $_product->getCategoryIds(); 
$clearance_category = 134; //clearance category id

if(in_array($clearance_category, $categories)) {
    $clearancetag='<div class="clearance-tag">Clearance</div>';
}
else {
    $clearancetag='';
}
?>

再往下看,你会发现一条很长的线:

 <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')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>

并在结束标记前插入变量:

null, true) ?>" /><?php echo $clearancetag ?></a>
null,true)?>“/>
这将负责产品网格

下一步在产品视图中显示清除图标。我将在描述旁边显示它

视图中.phtml 查找以下行:

 <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
 <?php echo $this->getChildHtml('alert_urls') ?>
 <?php echo $this->getChildHtml('product_type_data') ?>
 <?php echo $this->getTierPriceHtml() ?>
 <?php echo $this->getChildHtml('extrahint') ?>

并在粘贴代码后立即:

<?php 
//get all categories associated with this product
$categories = $_product->getCategoryIds(); 
$clearance_category = 134; //clearance category id
if(in_array($clearance_category, $categories)) {
    echo '<div class="clearance-tag">CLEARANCE</div>';
}
?>

我相信还有更优雅的方法可以做到这一点,而硬编码您的类别id并不理想。但它对我有效,希望它能帮助其他人。

做到了。下面是如何做到的

1) 从基础复制文件:

app/design/frontend/base/default/template/catalog/product/list.phtml app/design/frontend/base/default/template/catalog/product/view.phtml

到您的自定义设计包

app/design/frontend/mydesignpackage/default/template/catalog/product/list.phtml app/design/frontend/mydesignpackage/default/template/catalog/product/view.phtml

列表中.phtml查找行(第86行附近)


然后立即插入以下代码:

<?php 
//get all categories associated with this product
$categories = $_product->getCategoryIds(); 
$clearance_category = 134; //clearance category id

if(in_array($clearance_category, $categories)) {
    $clearancetag='<div class="clearance-tag">Clearance</div>';
}
else {
    $clearancetag='';
}
?>

再往下看,你会发现一条很长的线:

 <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')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>

并在结束标记前插入变量:

null, true) ?>" /><?php echo $clearancetag ?></a>
null,true)?>“/>
这将负责产品网格

下一步,在产品视图中显示清除图标。我将在描述旁边展示它

视图中.phtml 查找以下行:

 <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
 <?php echo $this->getChildHtml('alert_urls') ?>
 <?php echo $this->getChildHtml('product_type_data') ?>
 <?php echo $this->getTierPriceHtml() ?>
 <?php echo $this->getChildHtml('extrahint') ?>

并在粘贴代码后立即:

<?php 
//get all categories associated with this product
$categories = $_product->getCategoryIds(); 
$clearance_category = 134; //clearance category id
if(in_array($clearance_category, $categories)) {
    echo '<div class="clearance-tag">CLEARANCE</div>';
}
?>


我相信有更优雅的方法可以做到这一点,而硬编码您的类别id并不理想。但它对我有用,希望它能帮助别人

首先获取产品的类别Id,然后循环此数组



此代码提供categoryId,如果产品具有指定的类别,则可以设置一些css类。

首先获取产品的类别Id,然后循环此数组



这段代码为您提供categoryId,如果产品具有指定的类别,那么您可以设置一些css类。

我使用jQuery成功地做到了这一点。这对于某些人来说非常容易在System>Configuration>Display>HTML标题下的Miscellaneous Scripts字段中插入他们的站点

这项工作的目的是寻找具有过去和现在价格的产品。我对Magento的不同版本不太熟悉,不知道您是否需要更改选择器,但这一原则应该适用于大多数环境

<style>
    .special-tag {
        position: absolute;
        top: 0;
        left: 0;
        max-width: 50%;
    }
    .slider-products .special-tag {
        display: none;
    }
    .special-tag-product {
        position: absolute;
        top: 40px;
        left: 0;
        max-width: 33%;
    }
</style>
<script>
    jQuery(document).ready(function($){
        $('.item-content-wrapper').has('.special-price').append('<img src = "yourimage.png" class = "special-tag"/>');
        $('.product-image').append(
        $('.product-shop').has('.special-price').length ? '<img src = "yourimage_big.png" class = "special-tag-product"/>' : ""
        );
     });
</script>

.特殊标签{
位置:绝对位置;
排名:0;
左:0;
最大宽度:50%;
}
.滑块产品.特殊标签{
显示:无;
}
.特殊标签产品{
位置:绝对位置;
顶部:40px;
左:0;
最大宽度:33%;
}
jQuery(文档).ready(函数($){
$(“.item content wrapper”).has(“.special price”).append(“”);
$('.product image')。追加(
$('.product shop')。有('.special price')。长度?“”“
);
});

.slider products类特定于我的站点,您可能不需要这种样式。

我用jQuery实现了这一点。这对于某些人来说非常容易在System>Configuration>Display>HTML标题下的Miscellaneous Scripts字段中插入他们的站点

这很有效