opencart href link 取决于 category_id

opencart href link depend on category_id

我是 Opencart 的新手,我需要一个 If then 语句,它将根据 category_id.

加载不同的 .tpl 分页

我试过了,但显示错误

Parse error: syntax error, unexpected 'if' (T_IF), expecting ')' in D:\xampp\htdocs\ramesh\lmw\catalog\controller\product\sub_category.php on line 28

这是我的代码

sub_category.php

foreach ($category_info as $result) {
            $data['categories'][] = array(
                'name' => $result['name'],
                'parent_id' => $result['parent_id'],
                'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
                'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
                #'href' => $this->url->link('product/filter', '&category_id=' . $result['category_id'])
                #'href' => $this->url->link('product/sub_category')
                if($result['category_id'] == 24)
                {
                'href' => $this->url->link('product/transmission', 'sub_category_id='.$result['parent_id'].'&category_id=' . $result['category_id'])
                }
                else
                {
                    'href' => $this->url->link('product/filter', 'sub_category_id='.$result['parent_id'].'&category_id=' . $result['category_id'])
                }
            );
        }

试试这个,

foreach ($category_info as $result) {
        $data['categories'][] = array(
            'name' => $result['name'],
            'parent_id' => $result['parent_id'],
            'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
            'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
            #'href' => $this->url->link('product/filter', '&category_id=' . $result['category_id'])
            #'href' => $this->url->link('product/sub_category')
            if($result['category_id'] == 24)
            {
            'href' => $this->url->link('product/transmission', 'sub_category_id='.$result['parent_id'].'&category_id=' . $result['category_id'])
            }
            else
            {
                'href' => $this->url->link('product/filter', 'sub_category_id='.$result['parent_id'].'&category_id=' . $result['category_id'])
            };
        );
    }

看起来你漏掉了一个“;”在 if 语句之后。另外,您应该使用 /* 而不是 "#"

进行注释
    foreach ($category_info as $result) {
 if($result['category_id']==24)
 {
    $link1 = $this->url->link('product/transmission', 'sub_category_id='.$result['parent_id'].'&category_id=' . $result['category_id']);
 }
else
{
    $link1 = $this->url->link($_SERVER["REQUEST_URI"]);
}
$data['categories'][] = array(
    'name' => $result['name'],
    'parent_id' => $result['parent_id'],
    'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
    /*'href' => $this->url->link('product/filter', '&category_id=' . $result['category_id'])
    'href' => $this->url->link('product/sub_category')
    'href' => $this->url->link('product/transmission', 'sub_category_id='.$result['parent_id'].'&category_id=' . $result['category_id'])*/
    'href' => $link1
);