php – 在站点地图页面上显示超过3个类别的任何方法? (Opencart
发布时间:2020-12-13 16:10:18 所属栏目:PHP教程 来源:网络整理
导读:我正在寻找一种在站点地图页面上显示另一个类别的方法(默认情况下为3). 我尝试使用以下代码修改模板的sitemap.twig: lia href="{{ category_3.href }}"{{ category_3.name }}/a {% if category_3.children %} ul {% for category_4 in category_3.children
我正在寻找一种在站点地图页面上显示另一个类别的方法(默认情况下为3).
我尝试使用以下代码修改模板的sitemap.twig: <li><a href="{{ category_3.href }}">{{ category_3.name }}</a> {% if category_3.children %} <ul> {% for category_4 in category_3.children %} <li><a href="{{ category_4.href }}">{{ category_4.name }}</a></li> {% endfor %} </ul> {% endif %} </li> 但它没有用. 然后我还试图用另外一个foreach循环来改变/catalog/controller/information/sitemap.php: foreach ($categories_3 as $category_3) { $level_4_data = array(); $categories_4 = $this->model_catalog_category->getCategories($category_3['category_id']); foreach ($categories_4 as $category_4) { $level_4_data[] = array( 'name' => $category_4['name'],'href' => $this->url->link('product/category','path=' . $category_1['category_id'] . '_' . $category_2['category_id'] . '_' . $category_3['category_id'] . '_' . $category_4['category_id']) ); } $level_3_data[] = array( 'name' => $category_3['name'],'children' => $level_4_data,'path=' . $category_1['category_id'] . '_' . $category_2['category_id'] . '_' . $category_3['category_id']) ); } 一切都没发生.所以我问是否有办法解决我的问题? 解决方法
您可以通过以下方式显示所有类别及其子类别(类别树):
控制器文件: catalogcontrollerinformationsitemap.php 在关闭之前,在此文件的末尾添加这两个函数 protected $categoryTree = ''; protected function buildCategoryTree($parent_id = 0,$categories = null,$path = ''){ $categories = $this->model_catalog_category->getCategories($parent_id); if($categories){ $this->categoryTree .= '<ul>'; foreach ($categories as $category) { $path = $path ? $path . $category['category_id'] : $category['category_id']; $href = $this->url->link('product/category','path=' . $path); $categories = $this->model_catalog_category->getCategories($category['category_id']); $this->categoryTree .= '<li><a href="' . $href . '">' . $category['name'] . '</a>'; $this->buildCategoryTree($category['category_id'],$categories,$path . '_'); $this->categoryTree .= '</li>'; } $this->categoryTree .= '</ul>'; } } 找: $this->response->setOutput($this->load->view('information/sitemap',$data)); 在它之前添加: $this->buildCategoryTree(); $data['categories'] = $this->categoryTree; 查看文件: catalogviewtheme*templateinformationsitemap.twig 找: <ul> {% for category_1 in categories %} <li><a href="{{ category_1.href }}">{{ category_1.name }}</a> {% if category_1.children %} <ul> {% for category_2 in category_1.children %} <li><a href="{{ category_2.href }}">{{ category_2.name }}</a> {% if category_2.children %} <ul> {% for category_3 in category_2.children %} <li><a href="{{ category_3.href }}">{{ category_3.name }}</a></li> {% endfor %} </ul> {% endif %} </li> {% endfor %} </ul> {% endif %} </li> {% endfor %} </ul> 替换为: {{ categories }} 您可以删除控制器文件中的主要类别foreach循环. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |