gpt4 book ai didi

php - 如何在 OpenCart 中创建自定义的 SEO 友好 URL?

转载 作者:IT王子 更新时间:2023-10-28 23:45:24 44 4
gpt4 key购买 nike

如何在 OpenCart 中自定义系统 URL?例如,我想要 http://example.com/index.php?route=checkout/cart显示为 http://example.com/cart

我知道 OpenCart 为产品、类别、制造商和信息页面提供了 SEO URL,但它看起来没有任何内置的东西(至少在 1.5.0 版之前)。

最佳答案

事实证明,这可以通过对单个文件进行相对简单的更改来完成。没有 .htaccess 重写规则,只需修补 catalog/controller/common/seo_url.php 文件并将您的漂亮 URL 添加到现有数据库表中。


seo_url.php 的补丁:

Index: catalog/controller/common/seo_url.php
===================================================================
--- catalog/controller/common/seo_url.php (old)
+++ catalog/controller/common/seo_url.php (new)
@@ -48,7 +42,12 @@
$this->request->get['route'] = 'product/manufacturer/product';
} elseif (isset($this->request->get['information_id'])) {
$this->request->get['route'] = 'information/information';
- }
+ } else {
+ $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($this->request->get['_route_']) . "'");
+ if ($query->num_rows) {
+ $this->request->get['route'] = $query->row['query'];
+ }
+ }

if (isset($this->request->get['route'])) {
return $this->forward($this->request->get['route']);
@@ -88,7 +87,15 @@
}

unset($data[$key]);
- }
+ } else {
+ $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($data['route']) . "'");
+
+ if ($query->num_rows) {
+ $url .= '/' . $query->row['keyword'];
+
+ unset($data[$key]);
+ }
+ }
}
}

需要进行两次编辑。第一个扩展 index() 函数以在 url_alias 表中查找 any 关键字匹配 $this->request->get ['_route_']

第二个扩展了 rewrite() 函数以在 url_alias 表中查找 所有 路由,而不仅仅是产品、制造商、和信息页面。


向数据库添加条目:

INSERT INTO `url_alias` (`url_alias_id`, `query`, `keyword`) VALUES
(NULL, 'checkout/cart', 'cart');

就是这样。 http://example.com/cart应该返回与 http://example.com/index.php?route=checkout/cart 相同的东西会,OpenCart 应该识别 $this->url->link('checkout/cart'); 并返回一个指向漂亮 URL http://example.com/cart 的链接

关于php - 如何在 OpenCart 中创建自定义的 SEO 友好 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7578055/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com