Ich versuche, Änderungen in NopCommerce zu machen, um Sprache in Adressleiste aufzunehmen Ich weiß, Knoten, was scheint, Problem zu sein.Problem mit UrlRewriting in NopCommerce
Wenn ich UrlRewriting deaktivieren funktioniert alles gut, wenn ich es aktiviere, wenn ich auf Standardsprache bin alles funktioniert gut, wenn ich zu einer anderen Sprache gehe, die nicht standardmäßig ist, habe ich die Probleme.
Ich habe zwei Teile des Codes für Standard languge und für andere Sprachen
ich ändern ein bisschen einen Code, so dass nun Hauptfunktion wählen, zwischen den Sprachen:
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();
}
Für Standardsprache Ich habe auch: für SEO.Category.UrlRewriteFormat ich in der Datenbank für Standardsprache haben: {0} c {1}/{2}
in UrlRewriting.config habe ich diese Regeln für die Standardsprache :
ohne URL wie meinen Link oben Blick Umschreiben www.nopcomerce.com/category.aspx?categoryid=10
Wenn ich meine Verbindung zur Kategorie in Standardsprache gehe www aussehen. nopcomerce.com/c10/somecategory
Für andere Sprachen:
Für SEO.Category.UrlRewri teFormat2 Ich habe für andere Sprachen in der Datenbank: {0} {1}/c {2}/{3}
und für andere Sprachen Ich habe
die Verbindung ohne url rewrithing für andere Sprache aussehen www.nopcomerce.com/category.aspx?language=de & categoryid = 10
Und wenn ich zum Beispiel in derselben Kategorie in deutscher Sprache zu gehen ich habe www.nopcomerce.com/de/c10/ somecategorylocalizedingerman
Jetzt weiß ich, diese Seite funktioniert gut, wie ich schon sagte, denn wenn ich UrlRewriting in NopCommerce deaktivieren alle Seiten in allen Sprachen funktioniert gut. Ich kann die Sprache zwischen Kategorien, Produkten und dem gesamten Portal ohne Probleme in jeder Sprache ändern.
Aber wenn ich URLRewriting ermöglichen, arbeitet die Links für die Kategorie der in Standardsprache in Ordnung (www.nopcomerce.com/c10/somecategory), aber wenn ich in anderen Sprachen auf den Link klicken Sie HIER, ich jedes Mal, klicken Sie auf einen link, zum Beispiel ein Link für Kategorie in einer anderen Sprache, der Inhalt, der Show ist von der Standardseite (wie es mich dort umleiten) aber ich sehe, dass der Link, den ich in einer Sprache gehen möchte, in der Adressleiste () geschrieben wird www.nopcomerce.com/en/c10/somecategorylocalizedingerman).
Ich versuche alles, aber ich weiß nicht, was das Problem ist. Was ist falsch?
Ich versuche auch, um Hilfe in NopCommerce-Forum zu bitten, aber es gibt keine Hilfe von dort.
Sie können über dieses Problem lesen, wo ich begann zu schreiben, bis zu diesem Teil, wo ich jetzt nicht, was scheint ein Problem sein.
http://www.nopcommerce.com/boards/t/1039/seo-and-multilingual-pages.aspx?p=1
Dank für jede Hilfe im Voraus.