Транслитерация в магазине Interspire Shopping

shopmaster 08 Ноябрь, 2009 12:31 Interspire Shopping Cart, aka ISC Постоянная ссылка Трекбэки (0)

 

При включении ЧПУ, или человекопонятных урлов в магазине Interspire Shopping Cart, символы русского языка передаются в командную строку браузера символами UTF.

На самом деле, ничего страшного - сейчас и Google, и Yandex, и все прочие поисковики научились нормально индексировать такие надписи, и никаких проблем не возникает.

Однако, некоторые перфекционисты продолжают задавать вопрос - как бы сделать так, чтобы символы русского языка перекодировались в латиницу.

 

Скажу сразу - привычной полной транслитерации в Interspire Shopping Cart добиться не удастся.

Причина кроется в том, что обычно в магазинах для транслитерации введено специальное дополнительное поле базы данных. В момент размещения товара в магазине происходит конвертация символов национального языка в латинские символы, результаты записываются в специальное поле базы данных, и в командную строку выдается именно это значение. Поскольку информация в поле базы данных однозначно идентифицирует тот или иной товар, то в магазине все работает прекрасно.

Не так в Interspire Shopping Cart. В базе данных Interspire Shopping Cart нет поля для человеко-понятных урлов.

Поэтому для транслитерации необходимо конвертировать названия товаров (а также производителей, категории, и пр.) "на лету".

С самой конвертацией особых проблем не возникает - все (ну, практически все) символы конвертируются нормально, и в командной строке появляются символы латиницы.

Реализовать это совсем несложно - нужно внести изменения в файл /lib/general.php.

Вот уже отредактированный файл general.php, можете скачать, если хотите.

Следует иметь в виду, что при помощи этого файла можно успешно перекодировать кирилицу в латиницу, за исключением 3 символов русского языка: "з", "щ" и "э". Эти символы будут по-прежнему представлены символами кодировки UTF.

Теперь о том, почему такой транслит не является хорошим решением для магазина.

Просто потому, что в результатах транслитерации невозможно определить, что в исходном тексте было по-русски, а что по-английски: и то и другие будет передано в командную строку символами латиницы.

Это вызывает проблемы - при переходе по ссылкам Interspire Shopping Cart берет всю строку, и целиком переводит ее в кирилицу. Если название товара (или производителя, или категории) изначально было на русском, то никаких проблем не возникает - на экране возникает то, что вы хотели увидеть.

Но если в названии товара (или производителя, или категории) присутствовали как символы русского языка, так и латиницы (например, название производителя на английском языке), то латиница тоже будет перекодированы в символы русского языка, и система просто не найдет товар, на который ведет ссылка, и в браузере откроется страница 404 ошибки (страница не найдена).

Обойти это ограничение очень просто, но в общем случае неэффективно: установить правило, что все названия (товаров, производителей, категории) в магазине должны быть написаны только по-русски.

В таком случае все ссылки будут работать нормально. Если хотите попробовать - пожалуйста, можете воспользоваться прилагаемым транслитом.

Следует отметить, что возможен другой путь решения проблемы - написать хак для магазина: сформировать дополнительное поле в базе данных, добавить ява-скрипт, который будет вписывать в это поле транслитерированное название, и откорректировать скрипты, отвечающие за вывод названий в урл.

По сути - не большая проблема, вполне  решаема. А если все хорошенько запротоколировать, то и с обновлением программного обеспечения особых проблем возникнуть не должно - просто на новую версию наложить нужные изменения, и все.

Однако, прямо сейчас делать такой хак не очень хочется. Разработчики обещали поработать над введением в Interspire Shopping Cart возможности работы с несколькими языками. По неофициальным слухам, даже обещали соответствующий релиз выпустить к февралю.

Если это случится, то мудрить с транслитерацией, скорее всего, будет не нужно. Не факт, что это случится, поэтому если вас серьезно беспокоит Гондурас (то бишь вопрос транслитерации), то смело делайте хак.

Пока же, если есть желание представить содержание своего магазина на нескольких языках, шопмастера делают это через переводчик Гугл (просто помещают соответствующие ссылки в отдельный блок). Interspire Shopping Cart, в отличие от многих других магазинов, с такой задачей справляется прекрасно.

Удачной вам торговли!
Шопмастер

P.S. Как всегда, оставляем комментарии к посту на Блоге Шопмастера http://shopmaster.blogmasters.ru, или мылом на shopmaster@list.ru

 

 


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator

Комментарии

  1. скачал я ваш файл ну он в иной кодировки чем нужно насколько я понял он кириллице а нужно в УТ8 или както так нужно перекодировать файл

    Написал(а) Дима — 25 ÐÐ 2010, 15:58


Добавить комментарий

Добавить комментарий
 authimage


Powered by BlogMasters.Ru