我想在我的管理面板中获取 1 到 10 个数量之间的所有产品这是我的控制器中的数据:
$enabled_product = $this->model_catalog_product->getTotalNumberOfEnabledProductsWithLessOrEqualTo10Quantity();
$data['enabled_product'] = $enabled_product;
$data['enabled_product_link'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&filter_quantity=10&filter_status=1', true);
$data['enabled_product_link'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&filter_quantity<=10&filter_status=1', true);
我试图告诉网址我想要数量 <= 10 和状态 = 1 的所有产品 这是网址:
http://local.loc/admin/index.php?route=catalog/product&token=lNcGHcKRXDz02nQlrw83sRB7UzV4HViz&filter_quantity<=10&filter_status=1
问题是如果它们只等于特定数量,我可以获得所有产品。我还尝试了以下网址:
http://local.loc/admin/index.php?route=catalog/product&token=lNcGHcKRXDz02nQlrw83sRB7UzV4HViz&filter_quantity=10&filter_quantity=9&filter_quantity=8&filter_quantity=7&filter_quantity=6&filter_quantity=5&filter_status=1
但是没有用。任何想法如何获得数量 <=10 的所有产品?
使用以下方法之一:
在 admin\model\catalog\product.php
找: $sql .= " AND p.quantity = '" . (int)$data['filter_quantity'] . "'";
有两场比赛。
将它们更改为: $sql .= " AND p.quantity <= '" . (int)$data['filter_quantity'] . "'";
现在这将显示数量为 10 或少于 10 的所有产品:
http://local.loc/admin/index.php?route=catalog/product&token=lNcGHcKRXDz02nQlrw83sRB7UzV4HViz&filter_quantity=10&filter_status=1
或者
在 admin\controller\catalog\product.php
找: 'filter_quantity' => $filter_quantity,
之后添加: 'filter_quantity_less' => isset($this->request->get['filter_quantity_less']) ? $this->request->get['filter_quantity_less'] : null,
在 admin\model\catalog\product.php
找: if (isset($data['filter_quantity']) && !is_null($data['filter_quantity'])) {
有两个匹配项,在它们之前添加:
if (isset($data['filter_quantity_less']) && !is_null($data['filter_quantity_less'])) {
$sql .= " AND p.quantity <= '" . (int)$data['filter_quantity_less'] . "'";
}
现在你可以像这样在 url 中使用它:
filter_quantity_less=10
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句