I try to make changes in NopCommerce to include language in addreess bar I do knot know what seem to be problem.
When I disable UrlRewriting everything works fine, when I enable it, when I'm on default language everything works fine when I go to another language that is not default, I have the problems.
I have two parts of code for default languge and for other languages
I change a little bit a code, so main function now choose between languages:
public static string GetCategoryUrl(Category category, int languageId)
{
if (category == null)
throw new ArgumentNullException("category");
string seName = GetSEName(category.SEName);
if (String.IsNullOrEmpty(seName))
{
var categoryLocalized = CategoryManager.GetCategoryLocalizedByCategoryIdAndLanguageId(category.CategoryId, languageId);
if (categoryLocalized != null)
{
seName = GetSEName(categoryLocalized.Name);
}
else
{
seName = GetSEName(category.Name);
}
}
int defaultLanguage = Convert.ToInt32(SettingManager.GetSettingValue("Localization.DefaultLanguageID"));
string url = String.Empty;
string url2 = String.Empty;
//***for default language***
if (languageId == defaultLanguage)
{
url2 = SEOHelper.EnableUrlRewriting ? SettingManager.GetSettingValue("SEO.Category.UrlRewriteFormat") : "{0}Category.aspx?CategoryID={1}";
url = string.Format(url2, CommonHelper.GetStoreLocation(), category.CategoryId, seName);
}
//***for other languages***
else
{
url2 = SEOHelper.EnableUrlRewriting ? SettingManager.GetSettingValue("SEO.Category.UrlRewriteFormat2") : "{0}Category.aspx?Language={1}&CategoryID={2}";
url = string.Format(url2, CommonHelper.GetStoreLocation(), GetLocaleSubFolder(languageId), category.CategoryId, seName);
}
return url.ToLowerInvariant();
}
For default language I have also: For SEO.Category.UrlRewriteFormat I have in database for default language: {0}c{1}/{2}
In UrlRewriting.config I have this rules for default language:
with no url rewriting my link above look like www.nopcomerce.com/category.aspx?categoryid=10
When I go to category in default language my link look like www.nopcomerce.com/c10/somecategory
For other languages:
For SEO.Category.UrlRewriteFormat2 I have in database for other languages: {0}{1}/c{2}/{3}
and for other languages I have
the link with no url rewrithing for other language look like www.nopcomerce.com/category.aspx?language=de&categoryid=10
And when I go to for example in same category in German I will have www.nopcomerce.com/de/c10/somecategorylocalizedingerman
Now I know that page works fine, as I say before, because when I disable UrlRewriting in NopCommerce all pages in all languages works fine. I can change language between categories, products and entire portal with no problem on every language.
But when I enable UrlRewriting, the links for category's in default language works fine (www.nopcomerce.com/c10/somecategory), but when i click on link's in other languages, every time I click any link, for example some link for category in other language, the content that is show is from default page (like it redirect me there) but I see that the link that I want to go in some language is written in address bar (www.nopcomerce.com/de/c10/somecategorylocalizedingerman).
I try everything but I do knot know what's to the problem. What is wrong?
I also try to ask for help in NopCommerce forum but there is no help from there.
You can read abot this problem where I started to write until this part where I do not now what seem's to be a problem.
http://www.nopcommerce.com/boards/t/1039/seo-and-multilingual-pages.aspx?p=1
Thanks for every help in advance.