Magento: dıştan kategorilerine göre URL almak

1 Cevap php

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?

1 Cevap

Ben sistemi> yapılandırma> web ayarlarla oynayarak tüm gereksinimleri elde edebilirsiniz düşünüyorum

(Gerekirse güvenli ve güvensiz) ben denemek istiyorum ilk şey / (eğik çizgi) baz url ayarı ve sonra gidiyor sistem> önbellek yönetimi> katalog url yeniden yazar yeniden.

Bu işe yaramazsa, ayarları ile oynayabilirsiniz bunu çalışmak iddiaya girerim. Olsa uyardı, magento google üssü göreceli adresler koymak yapacak vb beslemeleri = kötü! Yani üretim yapmıyoruz.

Benim dev kopya buradan erişime kapalı iş, at, bu yüzden sizin için denemek olamaz.

Ayrıca, yukarıdaki komut için, siz deneyebilirsiniz:

$url = "/shop/" . $_category->getUrlKey() . '.html';

(Eğer sonunda html biraz gerek olmayabilir, sizin yapılandırma bağlıdır)