Я новичок в magento, поэтому решил отправить ajax-запрос на мой контроллер, получить все данные о продуктах в формате JSON и создать HTML во внешнем интерфейсе для отображения продуктов .
Я взял HTML базовой темы с левой полосой в два столбца списка продуктов и использовал его в методе ajax. Я использовал типа
Код: Выделить всё
function loadCategoryProducts(categoryId) {
jQuery.ajax({
url: '/myModule/index/loadcategoryproduct',
type: 'post',
data: {categoryId: categoryId},
success: function(products) {
products = jQuery.parseJSON(products);
if (products != '') {
var html = '';
html += '';
// blah blah blah blah blah to draw html from ajax request
}
html += '';
html += '' // end of category-products product
jQuery('.col-main').html(html);
}
}
});
И мой код контроллера
Код: Выделить всё
public function loadcategoryproductAction() {
$id = $this->getRequest()->getParam('categoryId');
if ($id) {
$_category = Mage::getModel('catalog/category')->load($id);
$product = Mage::getModel('catalog/product');
//load the category's products as a collection
$_productCollection = $product->getCollection()
->addAttributeToSelect('*')
->addCategoryFilter($_category)
->load();
// build an array for conversion
$json_products = array();
foreach ($_productCollection as $_product) {
$_product->getData();
$json_products[] = array(
'name' => $_product->getName(),
'url' => $_product->getProductUrl(),
'description' => nl2br($_product->getShortDescription()),
'price' => $_product->getFormatedPrice(),
'image' => $_product->getImageUrl());
}
$data = json_encode($json_products);
echo $data;
die;
}
}
Итак, я ищу, как отображать продукты в текущей активной теме? Я просто отправляю ajax-запрос на свой контроллер, получаю продукты, и эти продукты должны отображаться в текущем макете темы? Должен быть способ сделать это, который я до сих пор не смог найти. Я гуглил, но все тщетно. Я не люблю использовать для этого какие-либо встроенные расширения. Я хочу, чтобы мое расширение делало все это. Пожалуйста, помогите.
Подробнее здесь: https://stackoverflow.com/questions/246 ... ate-design
Мобильная версия