Magento 1.4-显示特定类别下的某些产品

Magento 1.4-显示特定类别下的某些产品,magento,Magento,嗨 我已经将20种产品分配到一个名为Phone的类别,我想创建一个模块来检索这些产品并以列表格式显示。有人能告诉我怎么做吗 谢谢无需创建模块。只需将其放在布局中的一个块中:它将显示链接到指定类别的所有产品(id=XXX) 3-超越主题以添加产品限制功能: 将“app/design/frontend/default/default/template/catalog/product/list.phtml”复制到“app/design/frontend/default/[your_theme]/tem

嗨 我已经将20种产品分配到一个名为Phone的类别,我想创建一个模块来检索这些产品并以列表格式显示。有人能告诉我怎么做吗


谢谢

无需创建模块。只需将其放在布局中的一个块中:它将显示链接到指定类别的所有产品(id=
XXX

3-超越主题以添加产品限制功能:

将“app/design/frontend/default/default/template/catalog/product/list.phtml”复制到“app/design/frontend/default/[your_theme]/template/catalog/product/list.phtml”

希望这能对其他人有所帮助。

要创建一个小部件(您可以通过cms插入),它使用一个类别来做一些事情,首先创建一个标准模块结构,包括: /挡块 /等 /助手 /模型

请注意,在下面的代码示例和文件名中,您需要使用您想要使用的适当名称空间和模块替换[Namespace]、[Module]和[Module]。案件很重要

首先创建app/code/local/[Namespace]/[Module]/etc/config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <[Namespace]_[Module]>
      <version>0.0.1</version>
    </[Namespace]_[Module]>
  </modules>
  <global>
    <helpers>
      <[module]>
        <class>[Namespace]_[Module]_Helper</class>
      </[module]>
    </helpers>
    <blocks>
      <[module]>
        <class>[Namespace]_[Module]_Block</class>
      </[module]>
    </blocks>
    <models>
      <[module]>
        <class>[Namespace]_[Module]_Model</class>
      </[module]>   
    </models>
  </global>
</config>

0.0.1
[名称空间]\u[模块]\u帮助程序
[名称空间]\u[模块]\u块
[名称空间]\u[模块]\u模型
然后创建一个app/code/local/[Namespace]/[Module]/etc/widget.xml这个小部件包括一个名为“selected_category”的设置


[模块]:类别
为类别添加[模块]。
类别
1.
1.
选择
[模块]/catopt
然后是app/code/local/[Namespace]/[Module]/Helper/Data.php中的强制帮助文件

 <?php
    class [Namespace]_[Module]_Helper_Data extends Mage_Core_Helper_Abstract
    {
    }

getCategory()以获取类别并从中开始。您可以轻松自定义这些示例中包含的块,以显示默认的magento产品列表网格,而不必使用自定义的.phtml文件。

感谢提供信息的帖子。对于那些不太精通PHP,但因为正在寻找显示给定类别的产品名称列表的解决方案而登上此页面的人,我只需修改其他人的模板文件就找到了解决方案。对于此解决方案,我发现最适合的扩展是:

(在github上找到最新版本:)

在登录和注销并清除缓存后,我能够将小部件插入静态块并修改用于生成所需自定义视图的.phtml文件

小部件在插入时如下所示:

{{widget type="categoryfeatured/list" template="categoryfeatured/block.phtml" categories="118" num_products="10" products_per_row="1" product_type="all"}}. 
我只是打开了

app/design/frontend/base/default/template/categoryfeatured/block.phtml

复制了它的内容并创建了一个名为category_product_listing.phtml的新.phtml文件

然后将小部件实例指向新的.phtml文件,如下所示:

{{widget type="categoryfeatured/list" template="categoryfeatured/category_product_listing.phtml" categories="118" num_products="10" products_per_row="1" product_type="all"}}. 
然后,我以对PHP的基本理解浏览了这个.phtml文件,删除了所有项目,如图像、添加到购物车按钮、评论等,直到我只保留了基本的链接产品标题和类别标题


我希望这能帮助一些人,因为我花了数小时试图弄明白这一点。

但我想在主页的特定部分下显示产品,而不是在左/右栏中,而且我只想显示10种产品,不是全部,谢谢我在Mage_Catalog_Block_Product_列表中添加了一个基本模块。它使您能够显示最大数量的产品。如果缺少什么,请告诉我们,这样每个人都可以从中获益。没有尝试过,我只是找到一个开发自定义模块的指南
// category_id = Procucts linked to this category
// product_count = Maximum number of product
{{block type="catalog/product_list" category_id="7" product_count="3" template="catalog/product/list.phtml"}}
<?xml version="1.0"?>
<config>
  <modules>
    <[Namespace]_[Module]>
      <version>0.0.1</version>
    </[Namespace]_[Module]>
  </modules>
  <global>
    <helpers>
      <[module]>
        <class>[Namespace]_[Module]_Helper</class>
      </[module]>
    </helpers>
    <blocks>
      <[module]>
        <class>[Namespace]_[Module]_Block</class>
      </[module]>
    </blocks>
    <models>
      <[module]>
        <class>[Namespace]_[Module]_Model</class>
      </[module]>   
    </models>
  </global>
</config>
<?xml version="1.0"?>
<widgets>
  <[module]_category type="[module]/category">
    <name>[Module]: Category</name>
    <description type="desc">Adds a [module] for a category.</description>
    <parameters>
      <selected_category>
        <label>Categories</label>
        <visible>1</visible>
        <required>1</required>
        <type>select</type>
        <source_model>[module]/catopt</source_model>
      </selected_category>
    </parameters>
  </[module]_category>
</widgets>
 <?php
    class [Namespace]_[Module]_Helper_Data extends Mage_Core_Helper_Abstract
    {
    }
<?php
class [Namespace]_[Module]_Model_Catopt
{
    public function toOptionArray()
    {
        $category = Mage::getModel('catalog/category'); 
        $tree = $category->getTreeModel(); 
        $tree->load();
        $ids = $tree->getCollection()->getAllIds(); 
        $arr = array();
        if ($ids){ 
          foreach ($ids as $id){ 
            $cat = Mage::getModel('catalog/category'); 
            $cat->load($id); 
            array_push($arr, array('value' => $id, 'label' => $cat->getName().' ('.$cat->getProductCount().')')); 
          } 
        }
        uasort($arr, array($this, 'labelsort'));
        return $arr;
    }

    function labelsort($a, $b){
      if ( $a['label'] == $b['label'] ) 
                  return 0; 
              else if ( $a['label'] < $b['label'] ) 
                  return -1; 
              else 
                  return 1;
    }
}
<?php
class [Namespace]_[Module]_Block_Category
    extends Mage_Core_Block_Template
    implements Mage_Widget_Block_Interface
{

        /**
         * A model to serialize attributes
         * @var Varien_Object
         */
        protected $_serializer = null;

        /**
         * Initialization
         */
        protected function _construct()
        {
            $this->_serializer = new Varien_Object();
            $this->setTemplate('[module]/[module].phtml');
            parent::_construct();
        }

        public function getCategory(){
          return $this->getData('selected_category');
        }
}
<?xml version="1.0"?>
<config>
    <modules>
        <[Namespace]_[Module]>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Cms />
            </depends>
        </[Namespace]_[Module]>
    </modules>
</config>
{{widget type="categoryfeatured/list" template="categoryfeatured/block.phtml" categories="118" num_products="10" products_per_row="1" product_type="all"}}. 
{{widget type="categoryfeatured/list" template="categoryfeatured/category_product_listing.phtml" categories="118" num_products="10" products_per_row="1" product_type="all"}}.