2015-05-14 23 views
0

你好我使用osclass并寻找任何用户个人资料我得去这个网址 随着永久启用在osclass中将http:// domainname/user/profile/1更改为http:// domainname/username,是否有可能?

http://domainname/user/profile/1

是否可以查看用户资料与此网址

http://domainname/username

随着简单的固定链接更改?或者我必须更改此代码?

请让我知道如何去做。

+0

你一定要改变它的代码,因为现在你正在寻找一个用户名而不是一个ID。 – Broxzier

+0

你有什么想法如何做到这一点? –

+0

我假设你的.htaccess文件中有一些RewriteRule将访问者重定向到某个.php页面,其中的ID是一个get变量。在此页面中,此ID用于从数据库获取正确的用户。你想要做的是改变RewriteRule以使用用户名url,并且改变数据库查找来搜索用户名而不是ID。 – Broxzier

回答

0

首先,id为42,可以让用户选择一个用户名(这是在Osclass功能),因此这两个网址会指向同一个页面的用户:

  • http://domain.com/user/profile/42
  • http://domain.com/user/profile/myowncustomusername

现在要改变“用户/个人资料”,你需要前往到管理,Settings > Permalinks在这里您可以更改用于路由/重写URL的规则。

你有两个问题虽然:

  1. 网址像http://domain.com/something用于搜索和类别(对所有类别的一个很好的URL)。这种修改会混淆这种行为。
  2. Osclass不允许您在admin中保存空的重写规则。

我可以让你开始,但我认为试图改变它可能工作,但将需要大量的测试和头痛。如果你问我,这是不值得的麻烦。

为了解决第一个问题,

你需要修改搜索控制器来寻找用户与用户名something第一,寻找一个叫something类别之前。

查找范围/oc-includes/osclass/controller/search.php周围管线78

为了解决第二个问题,

你可以改变,如果块:

if(!osc_validate_text($rewrite_user_profile)) { 
    $errors += 1; 
} else { 
    osc_set_preference('rewrite_user_profile', $rewrite_user_profile); 
} 

由:

osc_set_preference('rewrite_user_profile', $rewrite_user_profile); 

在文件/oc-admin/controller/settings/permalinks.php围绕245线。

0

有使用phpMyAdmin

去到phpMyAdmin和相关数据库中找到表名OC-T-喜好来改变这个网址的方式。在那里你会发现名为'rewrite_user_profile'的字段,默认值是'user/profile'。您可以将其更改为需要的商品,如“商店”或保留空白。这很好,你的期望已经准备好了。

相关问题