2013-05-07 172 views
0

我有一個包含從我Opencart的商店類別和子類別的下拉列表Opencart的選擇下拉菜單中,但我似乎無法得到SEO關鍵詞的網址顯示爲選項值:的類別和子類別

<select name="cat_id" id="category-select" class="span4"> 
    <option value="">Browse by category</option> 
    <?php 
    $cats = $this->model_catalog_category->getCategories(); 
    foreach ($cats as $cat) { 
     echo '<option value="' . $this->url->addRewrite('product/category', '&category_id=' . $cat['category_id']) . '">' . $cat['name'] . '</option>'; 
     $subcats = $this->model_catalog_category->getCategories($cat['category_id']); 
     foreach ($subcats as $subcat) { 
      echo '<option value="' . $this->url->addRewrite('product/category', '&category_id=' . $subcat['category_id']) . '">- ' . $subcat['name'] . '</option>'; 
     } 
    } 
    ?> 
</select> 

我OpenCart是新手,對addRewrite函數需要做什麼還不太確定。似乎也無法在OpenCart文檔中找到任何提及。

回答

1

這可能是因爲使用了錯誤的方法。對於SEO網址你必須使用link()方法。當然,你忘記了MVC。正確的做法是修改控制器,這將加載並準備將傳遞到模板然後的數據。模板應該吸取/只存在於數據...

因此,讓我們假設它是category控制器和模板,讓我們先編輯權控制器(catalog/controller/product/category.php):

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

foreach($this->model_catalog_category->getCategories() as $category) { 
    $this->data['my_categories'][] = array(
     'title' => $category['name'], 
     'href' => $this->url->link('product/category', 'path=' . $category['category_id']), 
    ); 
} 

這僅適用於因此我不在這裏加載子類別,但方法是一樣的。

現在呈現數據的模板(這樣catalog/view/theme/<YOUR_THEME>/template/product/category.tpl):

<select name="cat_id" id="category-select" class="span4"> 
    <option value="">Browse by category</option> 
    <?php if($my_categories) { ?> 
    <?php foreach ($my_categories as $category) { ?> 
    <option value="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></option> 
    <?php } ?> 
    <?php } ?> 
</select> 

編輯:搜索引擎優化鏈接子類別應該是:

'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $subcategory['category_id']) 
+0

謝謝。我已經添加了子類別,但是能否請你幫我用一個子類別的SEO URL:\t'href'=> $ this-> url-> link('product/category','path ='。$ category [ 'category_id']。'&path ='。$ subcategory ['category_id']) – 2013-05-07 15:12:56

+1

@FriendlyCode檢查我編輯的答案。請享用! – shadyyx 2013-05-07 15:15:08