1

MagentoのバスケットにカスタムURLを実装したいと思います。Magentoのすぐに使用できるURLは/checkout/ cartですが、クライアントは/ checkout/bagを要求します。

どういうわけか*バックエンドでURL書き換え管理を試みました-それは機能しますが、$ this-> getUrl('checkout / cart')はcheckout / bagに変換されないため、コード内のすべての出現箇所を新しいURLに更新する必要があります*また試しましたhttp://alanstorm.com/magento_dispatch_rewrites_introからのアドバイスに従うことですが、基本的には私にも役立ちません。*また、この投稿の例を試しましたhttp://phprelated.myworks.ro/two-add-to-cart-buttons-with-different-redirect-actions-at-once-in-magnto/

したがって、テンプレートとクラスのすべてのオカレンスを更新せずに、パス'checkout/cart'からcheckout/bagに翻訳を書き換える方法はありますか?$ this-> getUrl('checkout / cart')

Webサーバーのアーキテクチャに依存するソリューションは、究極のソリューションではありません。

4

5 に答える 5

6

私は解決策を見つけました

1)core/url希望の出力になるようにモデルを書き直しました

編集1-実装例https://gist.github.com/jaromirmuller/132cdd9378e5b1018170

2)urlパスを/ checkout/bagから/checkout/cartに書き換えるurlrewriteをconfig.xmlに追加しました

    <global>
      <rewrite>
        <mynamespace_mymodule_checkout_cart>
            <from><![CDATA[#^/checkout/bag#]]></from>
            <to>/checkout/cart</to>
        </mynamespace_mymodule_checkout_cart>
         </rewrite>
    </global>

3)URL書き換えをカタログに追加> URL書き換え管理は、誰かが/ checkout / cartに来た場合に処理し、正しい/ checkout /bagpahtにリダイレクトされます。

これらの3つのポイントにより、サイトは問題なく機能し、一貫性が保たれます。これは、大量のテンプレートやクラスを書き直すことなく簡単に実行できる方法です。

于 2012-10-09T19:42:47.043 に答える
0

この回答は、app / etc/local.xmlのフロントエンドルーターを変更してウィッシュリスト名を変更する場合に機能します。多分それはあなたの用途に適応させることができますか?

MagentoでウィッシュリストのURLを変更する

于 2012-10-17T02:31:45.870 に答える
0

Url Rewritesが機能する方法は、ページにURLtest.com/someがあり、それをクリックするとtest.com/some2代わりに取得することを意味します。したがって、リライトは実際のアンカーリンクを変更しません。つまり、そのリンクの宛先を新しい受信者に変更します。

すべてのアンカーリンクを新しいものに変更する簡単な解決策はありません(各ページのリンクを解析して置き換えることを除いて-これは望ましくありません)。

したがって、アンカーリンクをそのままにして、ユーザーがリンクをクリックした後に新しいURLを取得する場合は、URL書き換えを使用する必要があります。ただし、ページ上の実際のリンクを変更する場合は、すべてのオカレンスを検索して手動で変更する必要があります。

Mage::getUrl()はエイリアス(のようなMage::getModel())で動作するファブリックではありません-挿入したものをそこから取得します。結果のURLを変更する唯一の方法は、収入パラメータを変更することです。

于 2012-10-04T10:21:47.440 に答える
0

ApacheURLリライトを使用してそれを行うことができます。何かのようなもの

RewriteRule ^/checkout/cart(.*)$ /checkout/bag$1 [R=301,NC,L]
于 2012-10-06T10:35:02.860 に答える
0

より多くのURL翻訳を管理するには次のモジュールを使用できます:http: //www.magentocommerce.com/magento-connect/catalog/product/view/id/18160/

于 2013-06-20T08:53:51.293 に答える