2009-07-01 20 views
0

私はウェブサイトを構築していて、Magentoを/ shop /サブディレクトリにインストールしました。トップカテゴリーをMagento以外のサイトのメニューに統合して、カテゴリーに直接ナビゲートすることができます。このためには、カテゴリ名とURLが必要です。Magento:外部から相対的なURLを取得する

のMagentoのカテゴリは次のとおりです。

  • テンプレート
    • テーマ
    • 一般
  • その他の製品

まず、テンプレートのトップレベルの下にカテゴリのリストを表示する必要があったので、次のコードを書きました。

<?php 
require_once dirname(__FILE__).'/shop/app/Mage.php'; 
umask(0); 
Mage::app('default'); 

$helper  = Mage::helper('catalog/category'); 
$collection = $helper->getStoreCategories(); 
foreach ($collection as $catalogArray) { 
    if ($catalogArray->getName() == "Templates") { 
     foreach (explode(",", $catalogArray->getChildren()) as $category) { 
      $_category = Mage::getModel('catalog/category')->load($category); 
      if($_category->getIsActive()) { 
       $caturl = $_category->getUrl(); 
       $catname = $_category->getName(); 
      } 
      echo "<pre>"; 
      var_dump($caturl); 
      echo "</pre>"; 

      echo "<pre>"; 
      var_dump($catname); 
      echo "</pre>"; 
     } 
    } 
} 
?> 

これは正しく名前とカテゴリを取得しますが、URLのそれのリターンは「http://example.com/shop/templates/theme.html」など、URLの完全な絶対です:それはとても穏やか:-)こと、Magentoのと統合すると私の最初の試みです。

まず、Magentoから相対URLを取得するにはどうすればよいですか?

第2に、web/unsecure/base_url設定をhttp://example.com/shop/に設定すると、生成されたURLが正しいように見えます。代わりにこれを{{base_url}}に設定すると(仮想ホスティングベースのSVN作業コピーを使用しているので、開発中に好む)、/ shop/partは存在しません。 "http://example.com/templates/theme.html"

理由は何ですか?

答えて

1

私は、スラッシュ(/に(必要に応じて保護し、保護されていない)は、システムの設定と一緒に遊んで、あなたのすべての要件を達成することができます>私が試してみたの設定>ウェブ

最初のものは、ベースURLを設定していると思います)、次にシステム>キャッシュ管理>カタログURLの書き換えを再構築します。

それは、仕事の設定で遊んで、あなたはそれが仕事を得ることができます賭けていない場合。しかし、注意してください、それはマジェンタのGoogleベースのフィードなどの相対URLを置くようになります=悪い!プロダクションではやってはいけません。

私のdevのコピーは、仕事でここからinacessibleあるので、あなたのために試すことができません。

また、上記のスクリプトのために、あなたは試みることができる:

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

(あなたの設定に依存し、最後にhtmlのビットを必要としない場合があります)

+1

を私はそれを入れて取り組んで得ることができました/ shop/in base_url、しかしMagentoは、相対URLが非常に好きではないと言いました。たとえば、Ogone支払いサービスプロバイダとの統合には絶対URLが必要です。だからMagentoは、開発環境では残念な私の相対URLの目標を放棄するように強制しました。 私は正しい方向に向いてくれてありがとう。 –

関連する問題