2013-02-04 76 views
1

我想在頭部添加到 - if語句:如何獲得當前分類ID - Opencart的

<?php if (category = 17) { ?> 
<meta name="description" content="category 17 description" /> 
<?php } ?> 

<?php if (category = 18) { ?> 
<meta name="description" content="category 18 description" /> 
<?php } ?> 

我怎樣才能獲得當前分類ID

+0

你的類ID? –

+2

它總是很好的使用$前變量在PHP像$ var –

+3

爲什麼你需要這樣的矯枉過正?你會編輯每個類別的標題嗎?你運行什麼OC版本?是不是更容易和更好的方法來編輯'/ catalog/controller/product/category.php'並添加類似'$ this-> document-> addMeta($ category_info ['描述']);'??? – shadyyx

回答

0

你想從類別ID在哪裏?

它在網址中嗎?

然後你必須使用全局的$ _GET變量。

如果URL是

example.com/index.php?category=2

你可以得到

$category= $_GET["category"] 
+0

另外,您總是必須在PHP中的變量前使用'$'。所以它應該是'$ category'而不是'category' – Maximii77

+0

嗨,這個問題的例子是 – Oshrib

+0

@ Maximii77你確定你在談論OpenCart嗎? OpenCart爲此使用'request',所以不是直接訪問'$ _GET',而是使用'$ this-> request-> get' ...並且'GET'中沒有'category'參數,而是一個'path '參數...不會給你-1,因爲你的低XP ...... – shadyyx

3

參數在你的頭的代碼之前將這個

$category = empty($this->request->get['path']) ? 0 : (int) array_pop(explode('_', $this->request->get['path'])); 

然後用$category代替只是category當你在你的問題

0

有我想這樣做是從category控制器內添加meta description,像這樣最好的方法:

$this->document->addMeta($category_info['description']); 

只要編輯你的/catalog/controller/product/category.php控制器文件。

+0

除非我錯了,$ this-> document-> addMeta($ m)不存在於默認文檔類中。您可以使用此vQmod添加它http://www.opencart.com/index.php?route=extension/extension/info&extension_id=21542 – dhaupin

+0

我不確定現在,因爲答案已經2歲了,但它是可能有一些舊版本(1.5.4之前)。0)已經實現了這個方法,否則我不能在我的答案中使用它;-) – shadyyx

+0

我在想那個人,我想這個方法會留下來,因爲它在我們的語義時代非常有用。也許它在1.4.x分支或什麼....或...應該在2.x或東西:) – dhaupin

2

如果你只需要類別id,它是一個url參數「路徑」。 因此,訪問在header.tpl類別ID的最佳方式將是

<?php if(isset($_GET['category_id'])){ 
    if ($_GET['path'] = 17) { ?> 
<meta name="description" content="category 17 description" /> 
<?php } ?> 

<?php if ($_GET['path'] = 18) { ?> 
<meta name="description" content="category 18 description" /> 
<?php } 
}