我正在尝试在Opencart 3中创建路由,但不知道为什么它不起作用。转到该路线时,将显示404页面未找到。但这很简单,应该可以工作。至少我是这样认为的:)。也许我缺少了一些东西。这是代码:
class ControllerCsvCsv extends Controller {
public function index() {
header('Content-Type: application/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename="amby_products.csv"');
$this->load->model('catalog/product');
$this->load->model('catalog/category');
$products = $this->model_catalog_product->getProducts();
$csvArray[0] = array(
'id',
'image_link',
'title',
'category',
'price',
'inventory_tracking',
'availability',
'link',
'brand',
'google_product_category',
'desciption',
'condition'
);
foreach ($products as $product) {
$category = $this->model_catalog_product->getCategories($product['product_id']);
$url = $this->url->link('product/product', 'product_id=' . $product['product_id']);
foreach ($category as $cat) {
$getCategory = $this->model_catalog_category->getCategory($cat['category_id']);
}
$csvArray[] = array(
$product['product_id'],
$product['image'],
$product['name'],
$getCategory['name'],
$product['special'] ? $product['special'] : $product['price'],
$product['quantity'],
$product['stock_status'],
$url,
$product['manufacturer'],
$getCategory['name'],
null,
'new'
);
}
$fp = fopen('php://output', 'w');
foreach ($csvArray as $line) {
fputcsv($fp, $line, ',');
}
fclose($fp);
}
}
答案 0 :(得分:0)
当您设置class ControllerCsvCsv extends Controller {
时,您对Opencart说您的控制器位于catalog / controller / csv / csv.php中,您确定文件在那里吗?您的代码一切正常,所以我认为您的控制器不在正确的位置,您能显示文件(csv.php)的位置吗?
答案 1 :(得分:0)
在信息中也创建了新路线,也包括csv.php,url index.php?route = information / csv。结果相同,找不到页面。为什么找不到我创建的所有路由的任何线索?一些缓存还是其他?用完选项:(