Magento Ajax 和 Mage::getModel
Magento Ajax and Mage::getModel
我正在使用 Magento 1.9,在一个页面 .phtml 中我有一个 AJAX 请求:
$('#dive').change(function() {
if($(this).val() > 0) {
$j.ajax({
url: 'dominio.com/myfile.php',
type: 'POST',
data: { id: $(this).val() },
success: function(data) {
$('.classe').html(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert('error');
}
});
}
});
myfile.php的内容是:
<?php
$id = $_POST['id'];
echo $id;
?>
当 select 表单的值 > 0 时,$id 显示在 .classe
中,但我想在 myfile.php 中包含父类别的子类别id = $id
我尝试添加此代码:
$children = Mage::getModel('catalog/category')->getCategories($id);
foreach ($children as $subcategory) {
echo $subcategory->getName();
}
该代码在 .phtml 中有效,但如果我在 myfile.php 中添加它,我什么也得不到。
有什么想法吗?
您可能错过了应用程序初始化。
如果这是你的全部 php 代码:
<?php
$children = Mage::getModel('catalog/category')->getCategories($id);
foreach ($children as $subcategory) {
echo $subcategory->getName();
}
?>
您需要添加 Mage.php
并开始 Mage::app();
<?php
require_once ('app/Mage.php');
Mage::app();
$children = Mage::getModel('catalog/category')->getCategories($id);
foreach ($children as $subcategory) {
echo $subcategory->getName();
}
?>
看来您可能没有使用新的控制器,因此您需要重新初始化应用程序。
我正在使用 Magento 1.9,在一个页面 .phtml 中我有一个 AJAX 请求:
$('#dive').change(function() {
if($(this).val() > 0) {
$j.ajax({
url: 'dominio.com/myfile.php',
type: 'POST',
data: { id: $(this).val() },
success: function(data) {
$('.classe').html(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert('error');
}
});
}
});
myfile.php的内容是:
<?php
$id = $_POST['id'];
echo $id;
?>
当 select 表单的值 > 0 时,$id 显示在 .classe
中,但我想在 myfile.php 中包含父类别的子类别id = $id
我尝试添加此代码:
$children = Mage::getModel('catalog/category')->getCategories($id);
foreach ($children as $subcategory) {
echo $subcategory->getName();
}
该代码在 .phtml 中有效,但如果我在 myfile.php 中添加它,我什么也得不到。
有什么想法吗?
您可能错过了应用程序初始化。 如果这是你的全部 php 代码:
<?php
$children = Mage::getModel('catalog/category')->getCategories($id);
foreach ($children as $subcategory) {
echo $subcategory->getName();
}
?>
您需要添加 Mage.php 并开始 Mage::app();
<?php
require_once ('app/Mage.php');
Mage::app();
$children = Mage::getModel('catalog/category')->getCategories($id);
foreach ($children as $subcategory) {
echo $subcategory->getName();
}
?>
看来您可能没有使用新的控制器,因此您需要重新初始化应用程序。