Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 什么是Opencart';s类别控制器文件?_Php_Sql_Opencart - Fatal编程技术网

Php 什么是Opencart';s类别控制器文件?

Php 什么是Opencart';s类别控制器文件?,php,sql,opencart,Php,Sql,Opencart,调用所有opencart大师。在尝试理解分类页面的排序功能(按名称、评级、价格等排序)时。catalog/controller/product/category.php中的行p.sort\u order-ASC让我感到困惑。在SQL中,排序查询的构建类似于orderbytable.field\u name ASC/DESC,但我无法推断p.sort\u ORDER-ASC的逻辑。是否将其设置为传递给javascript函数的值 $this->data['sorts'] = array();

调用所有opencart大师。在尝试理解分类页面的排序功能(按名称、评级、价格等排序)时。
catalog/controller/product/category.php
中的行
p.sort\u order-ASC
让我感到困惑。在SQL中,排序查询的构建类似于
orderbytable.field\u name ASC/DESC
,但我无法推断
p.sort\u ORDER-ASC
的逻辑。是否将其设置为传递给javascript函数的值

$this->data['sorts'] = array();

        $this->data['sorts'][] = array(
            'text'  => $this->language->get('text_default'),
            'value' => 'p.sort_order-ASC',
            'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url)
        );

OpenCart获取您在那里的值并根据这些值对其进行排序,因此它按
p.sort\u order
(这是
产品
表的别名
p
排序顺序
字段)排序,然后是排序方式,即
ASC
或升序

,实际上是行

'value' => 'p.sort_order-ASC',
在模板文件(例如,
catalog/view/theme/default/template/product/category.tpl
)中用于突出显示(选择)所选排序类型。在上述控制器中,
sort
order
GET
中获取,具体地说,从点击的URL中获取,并由此行定义:

'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url)
如您所见,URL包含
&sort
&order
参数,必要的值从模板中获取并推送到模板中

在模板中存在以下条件:

    <?php foreach ($sorts as $sorts) { ?>
    <?php if ($sorts['value'] == $sort . '-' . $order) { ?>
    <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>
    <?php } else { ?>

所以如果
$sort.'-'$从URL获得的订单与排序的值相同,则选择

现在清楚了吗