Ben bir web sitesi oluşturma ve / shop / dizininde Magento monte ediyorum. Benim sigara Magento sitenin menüsüne üst kategorilerini entegre etmek istiyorum, bu yüzden doğrudan kategorinin gezinebilirsiniz. Bunun için kategori adlarını ve URL gerekir.
Magento'nın kategoriler şunlardır:
- Templates
- Renk
- Tema
- Genel
- Diğer ürünler
Ben ilk Şablonlar üst seviyesinin altında kategorilerin bir listesini almak için gerekli, bu yüzden aşağıdaki kodu yazdım. Bu Magento ile entegre olan ilk denemeydi, çok nazik :-) olacak:
<?php
require_once dirname(__FILE__).'/shop/app/Mage.php';
umask(0);
Mage::app('default');
$helper = Mage::helper('catalog/kategori');
$toplama = $helper->getStoreCategories();
foreach ($toplama as $catalogArray) {
if ($catalogArray->getName() == "Templates") {
foreach (explode(",", $catalogArray->getChildren()) as $kategori) {
$_kategori = Mage::getModel('catalog/kategori')->load($kategori);
if($_kategori->getIsActive()) {
$caturl = $_kategori->getUrl();
$catname = $_kategori->getName();
}
echo "<pre>";
var_dump($caturl);
echo "</pre>";
echo "<pre>";
var_dump($catname);
echo "</pre>";
}
}
}
?>
Bu, doğru isimleri ve kategorileri alır, ancak URL o döner mutlak tam URL, örneğin "http://example.com/shop/templates/theme.html" gibidir.
Öncelikle, nasıl göreli URL Magento dan almak mı?
İkincisi, üretilen URL ben http://example.com/shop/ ayarını web / güvensiz / base_url set yalnızca doğru gibi görünüyor. Ben (biz kopya çalışma svn dayalı sanal barındırma kullandığımızdan beri gelişimi sırasında tercih) yerine {{}} base_url için bu ayarlarsanız, / shop / part eksik, yani: "http://example.com/templates/ theme.html ".
Herhangi bir fikir neden?