1

SEO対策用のURLを作りたい。

My URL is: supplements.html?manufacturer=166
I want URL like: supplements/manufacturer/scivation.html

(scivation は id 166 のメーカーで、サプリメントはカテゴリであり、メーカーは属性です)

どんな助けでも大歓迎です。事前に感謝します。

4

1 に答える 1

0

「サプリメント」は (変化する) カテゴリであるため、ハードコーディングせずに記述規則を使用することはより困難になります。考えられる解決策の 1 つは、Mage::getModel('core/url_rewrite')( example ) を使用してそれぞれのルートを作成することです (この方法を使用すると問題が発生する可能性があります)。

別の解決策は、URL形式を変更することです

/manufacturer/supplements/scivation.html

次に、カスタム モジュールを作成します。

config.xml

<global>
    <rewrite>
      <fancy_url>
            <from><![CDATA[/manufacturer\/(.*)/(.*)/]]></from>
            <to><![CDATA[manufacturer/index/processroute/manufacturername/$2/]]></to>
            <complete>1</complete>
       </fancy_url>
    <rewrite>
</global>
<frontend>
    <routers>
        <tagseo>
            <use>standard</use>
            <args>
                <frontName>customcategory</frontName>
            </args>
        </tagseo>
    </routers>

class MageIgniter_Manufacturer_IndexController extends Mage_Core_Controller_Front_Action
{
     public function processRoute(){
           print_r($requestUri = Mage::app()->getRequest()->getRequestUri()); //supplements/scivation.html
           print_r($this->getRequest()->getParam('manufacturername')); // scivation.html
           print_r($this->getRequest())
           // do you custom logic here base on about request path explode('/', trim($requestUri,'/'))

           //lookup the attribute_id from attribute name 
           //if attribute_id found then try 
           //$this->_forward(string $action, [string|null $controller = null], [string|null $module = null], [ $params = null])
           // to the catalog page
           // else  $this->_forward('defaultNoRoute');


     }
     ...

続きを読む @

Magento xml を使用した簡単な URL 書き換え

Magento ルーターの URL - パス名にハイフンが必要

Magento V1.7 グリッド ビュー - ビューにメーカー属性を追加

于 2012-11-23T01:05:56.743 に答える