#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 и его вызов приведет к отображению всех категорий и соответствующих подкатегорий.
ПРИМЕЧАНИЕ: вы должны были добавить категорию из панели администратора.