Могу ли я отображать категории на главной странице, используя шаблон в magento?

#magento-1.4 #magento-1.5 #magento

#magento-1.4 #magento-1.5 #magento

Вопрос:

Я создал простой настраиваемый модуль, который показывает мне категории на домашней странице, и для этого я создал файл модели и файл блока в моем настраиваемом модуле. и ввел эту строку в мою CMS (домашняя страница)

 {{block type="Definitivemagento_Helloword/randomproducts"}}
  

теперь я хочу сделать то же самое с использованием шаблона (файла Phtml и файла Xml), потому что я хочу добавить немного css и часть проектирования, которую я хотел бы сделать с файлом Phtml. Возможно ли это сделать .. вот мой текущий код для класса модели и класса блока.

 class Pragtech_Sweet_Block_Category extends Mage_Core_Block_Template
{
    protected function _toHtml()
    {   $catModel = Mage::getModel('Pragtech_Sweet/category');
        $myCategory = $catModel->getCategory();
        $html = "<ul>";
        foreach ($myCategory as $category)
        {
        $name = $category->getName();

        $categoryLink = this->helper('catalog/category')->getCategoryUrl($category);
        $html .= "
        <p>
        <a href='$categoryLink'>$name</a><br/>
        <!-- $name <br/> -->
        </p>";
        }
        $html .= "<ul>";
        //echo "<pre>"; print_r($html); exit;
        return $html;
    }
}
  

И мой класс модели выглядит так :-

 Class Pragtech_Sweet_Model_Category extends Mage_Core_Model_Abstract
{
    public function getCategory()
    {
        $categoryCollection = Mage::getModel('catalog/category')
        ->getCollection()
        ->addAttributeToSelect('name');

        $categoryCollection->getSelect()->order(entity_id);
        //print_r($categoryCollection); exit;
        return $categoryCollection;
    }
  

Ответ №1:

Вы можете отобразить любой произвольный блок из другого шаблона блока phtml с помощью чего-то вроде

 <?php echo $this->getLayout()->createBlock('definitivemagento_helloword/randomproducts')->toHtml(); ?>
  

Ответ №2:

 <div class="categories">
<ul>
<?php
foreach ($this->getStoreCategories() as $_category): ?>
  <?php echo $this->drawItem($_category) ?>
  <?php endforeach; ?>
</ul>
</div>
  

Добавление этого скрипта в любой требуемый файл phtml и его вызов приведет к отображению всех категорий и соответствующих подкатегорий.

ПРИМЕЧАНИЕ: вы должны были добавить категорию из панели администратора.