この「attribute1/attribute2/product-url-key」のような製品URLを動的に作成する必要があります。私は、すべての製品のURLがenterprise_url_rewriteテーブルのrequest pathフィールドにあることを確認しました。magentoインデクサプロセスに変更
インデクサープロセスに変更を加えたいので、変更がその再実行時に残りますが、どこにあるのかわかりません。
この「attribute1/attribute2/product-url-key」のような製品URLを動的に作成する必要があります。私は、すべての製品のURLがenterprise_url_rewriteテーブルのrequest pathフィールドにあることを確認しました。magentoインデクサプロセスに変更
インデクサープロセスに変更を加えたいので、変更がその再実行時に残りますが、どこにあるのかわかりません。
おはよう!さんはこれを打破してみましょう:
が、私はこの「attribute1と/ attribute2の/製品-URL-キー」動的
はいのような製品のURLを作成する必要があります - あなたは、動的にMagentoのモデルを使用して書き換えるURLを作成できますあなたは既に特定されてきたデータベーステーブルを表す:
/** @var Enterprise_UrlRewrite_Model_Redirect $rewrite */
$rewrite = Mage::getSingleton('enterprise_urlrewrite/redirect');
// Create new record or load the existing one
$rewrite->loadByRequestPath($requestUrl, $store->getId());
$rewrite
->setStoreId($store->getId()) // define which store the rewrite should be
->setOptions(null) // specify any rewrite/redirect/custom options
->setRequestPath($requestUrl) // specify the request URL
->setIdentifier($requestUrl)
->setTargetPath($targetPath) // specify the redirect target
->setEntityType(Mage_Core_Model_Url_Rewrite::TYPE_CUSTOM)
->setDescription('Add a comment if you want to');
$rewrite->save();
これは$requestUrl
によってリダイレクト/既存のURLの書き換えをロードしようと、それはあなたがあなたを飾ることができ見つからなかった場合は、空のモデルを返します。データを保存して保存します。
「オプション」は、それが一時的なリダイレクトか永続的なリダイレクト(302対301)かを定義します。
More information here Magento EEユーザーガイドを参照してください。
私はインデクサープロセスにも変更を加えたいので、変更はその再実行時に残りますが、どこにあるのかわかりません。
心配しないでください。 (現代の)Magentoデータベースは、レコードを索引付けする必要がある場合は常にテーブルのトリガーを持ち、それらのテーブルの作成、更新、削除を検出します。インデクサーは変更が必要であることを検出し、必要に応じて変更を行います。
URLの書き換えが消えている場合は、SQLを使用してインデックステーブルに直接追加しているため、インデックスが実行されるたびにテーブルが書き換えられます。これを避けるには、上記のモデルを使用し、すべてが正しい場所に保存され、適切に索引付けされます。
あなたに感謝してくれます。Robbie、私はmagentoを初めて使っています。このコードはどこに書きますか? –