我有 3 个在线商店在单个 Magento 安装上运行。
他们共享超过 10.000 多个 SKU(我已将它们设置为简单产品),但在前端可见的唯一产品是每个商店的分组产品(与 SKU 相关联)。
因此,我的 URL 重写表非常繁重,在检查 Varien Profiler 时,我遇到了“mage::dispatch::routers_match”,这需要超过 5 秒才能完成。我想这是因为它是一张很大的桌子。所以这让我想到了我的问题:
如何指定我不想让 Magento 重写的 URL。无论如何我可以告诉它不要重写简单的产品 URL 吗?仅此一项就会将桌子降低到1/3。
PS:Magento CE 1.7.0.2
编辑:
感谢 Tobias 为我指明了正确的方向。我去了 app/code/core/Mage/Catalog/Model/Url.php 并将函数编辑refreshProductRewrites
为:
foreach ($products as $product) {
if($product->getTypeId() == "simple"){
continue;
}
else {
$this->_refreshProductRewrite($product, $this->_categories[$storeRootCategoryId]);
foreach ($product->getCategoryIds() as $categoryId) {
if ($categoryId != $storeRootCategoryId && isset($this->_categories[$categoryId])) {
if (strpos($this->_categories[$categoryId]['path'], $storeRootCategoryPath . '/') !== 0) {
continue;
}
$this->_refreshProductRewrite($product, $this->_categories[$categoryId]);
}
}
}
}