Jump to content

Friendly URL not work


Recommended Posts

Please help me to config the friendly url for my website
 
The way bellow is for the old version of prestashop:

1.

Open file /js/admin.js

Add function strUnicodeToAscii to the end of the file

function strUnicodeToAscii(str){
str = str.replace(/[\'\~\@\#\%\^\&]/g,'');

str = str.replace(/[\u0105\u0104\u00E4\u00E5\u00E0\u00C0\u1EA3\u1EA2\u00E3\u00C3\u00E1\u00C1\u1EA1\u1EA0\u0103\u0102\u1EB1\u1EB0\u1EB3\u1EB2\u1EB5\u1EB4\u1EAF\u1EAE\u1EB7\u1EB6\u00E2\u00C2\u1EA7\u1EA6\u1EA9\u1EA8\u1EAB\u1EAA\u1EA5\u1EA4\u1EAD\u1EAC]/g,'a');

str = str.replace(/[\u00E7\u010D\u0107\u0106]/g,'c');

str = str.replace(/[\u0111\u0110\u010F]/g,'d');

str = str.replace(/[\u00EB\u0119\u011B\u0118\u00E8\u00C8\u1EBB\u1EBA\u1EBD\u1EBC\u00E9\u00C9\u1EB9\u1EB8\u00EA\u00CA\u1EC1\u1EC0\u1EC3\u1EC2\u1EC5\u1EC4\u1EBF\u1EBE\u1EC7\u1EC6]/g,'e');

str = str.replace(/[\u00EC\u00CC\u1EC9\u1EC8\u0129\u0128\u00ED\u00CD\u1ECB\u1ECA\u00EE\u00EF]/g,'i');

str = str.replace(/[\u0142\u0141\u013E\u013A]/g,'l');

str = str.replace(/[\u00F1\u0148]/g,'n');

str = str.replace(/[\u00F2\u00D2\u1ECF\u1ECE\u00F5\u00F6\u00F8\u00D5\u00F3\u00D3\u1ECD\u1ECC\u00F4\u00D4\u1ED3\u1ED2\u1ED5\u1ED4\u1ED7\u1ED6\u1ED1\u1ED0\u1ED9\u1ED8\u01A1\u01A0\u1EDD\u1EDC\u1EDF\u1EDE\u1EE1\u1EE0\u1EDB\u1EDA\u1EE3\u1EE2]/g,'o');

str = str.replace(/[\u0159\u0155]/g,'r');

str = str.replace(/[\u015B\u015A\u0161]/g,'s');

str = str.replace(/[\u0165]/g,'t');

str = str.replace(/[\u00F9\u00D9\u1EE7\u1EE6\u0169\u0168\u00FA\u00DA\u1EE5\u1EE4\u01B0\u01AF\u1EEB\u1EEA\u1EED\u1EEC\u1EEF\u1EEE\u1EE9\u1EE8\u1EF1\u1EF0\u00FB\u00FC\u016F]/g,'u');

str = str.replace(/[\u1EF3\u1EF2\u1EF7\u1EF6\u1EF9\u1EF8\u00FD\u00DD\u1EF5\u1EF4\u00FF]/g,'y');

str = str.replace(/[\u017C\u017A\u017B\u0179\u017E]/g,'z');

str = str.replace(/[\u0153]/g,'oe');

str = str.replace(/[\u00E6]/g,'ae');

str = str.replace(/[\u00DF]/g,'ss');

str = str.replace(/[^a-z0-9\s\'\:\/\[\]-]/g,'');
str = str.replace(/[\s\'\:\/\[\]-]+/g,' ');

return str;
}
  • Function str2url, edit it
function str2url(str,encoding,ucfirst)
{
str = str.toUpperCase();
str = str.toLowerCase();

str = strUnicodeToAscii(str);
str = str.replace(/[ ]/g,'-');
str = str.replace(/[\/]/g,'-');

if (ucfirst == 1) {
c = str.charAt(0);
str = c.toUpperCase()+str.slice(1);
}

return str;
}
  • Function: strToAltImgAttr, edit it
function strToAltImgAttr(str,encoding,ucfirst)
{
str = strUnicodeToAscii(str);

if (ucfirst == 1) {
c = str.charAt(0);
str = c.toUpperCase()+str.slice(1);
}

return str;
}

2. Open file /classes/Tools.php

Function link_rewrite, edit it, line 150
 

static public function link_rewrite($str, $utf8_decode = false)
{
$purified = '';

$length = Tools::strlen($str);


//remove any '-' from the string they will be used as concatonater
$str = str_replace('-', ' ', $str); $trans = array( "đ"=>"d","ă"=>"a","â"=>"a","á"=>"a","à"=>"a","ả"=>"a","ã"=>"a","ạ"=>"a", "ấ"=>"a","ầ"=>"a","ẩ"=>"a","ẫ"=>"a","ậ"=>"a", "ắ"=>"a","ằ"=>"a","ẳ"=>"a","ẵ"=>"a","ặ"=>"a", "é"=>"e","è"=>"e","ẻ"=>"e","ẽ"=>"e","ẹ"=>"e", "ế"=>"e","ề"=>"e","ể"=>"e","ễ"=>"e","ệ"=>"e", "í"=>"i","ì"=>"i","ỉ"=>"i","ĩ"=>"i","ị"=>"i", "ư"=>"u","ô"=>"o","ơ"=>"o","ê"=>"e", "Ư"=>"u","Ô"=>"o","Ơ"=>"o","Ê"=>"e", "ú"=>"u","ù"=>"u","ủ"=>"u","ũ"=>"u","ụ"=>"u", "ứ"=>"u","ừ"=>"u","ử"=>"u","ữ"=>"u","ự"=>"u", "ó"=>"o","ò"=>"o","ỏ"=>"o","õ"=>"o","ọ"=>"o", "ớ"=>"o","ờ"=>"o","ở"=>"o","ỡ"=>"o","ợ"=>"o", "ố"=>"o","ồ"=>"o","ổ"=>"o","ỗ"=>"o","ộ"=>"o", "ú"=>"u","ù"=>"u","ủ"=>"u","ũ"=>"u","ụ"=>"u", "ứ"=>"u","ừ"=>"u","ử"=>"u","ữ"=>"u","ự"=>"u",'ý'=>'y','ỳ'=>'y','ỷ'=>'y','ỹ'=>'y','ỵ'=>'y', 'Ý'=>'Y','Ỳ'=>'Y','Ỷ'=>'Y','Ỹ'=>'Y','Ỵ'=>'Y', "Đ"=>"D","Ă"=>"A","Â"=>"A","Á"=>"A","À"=>"A","Ả"=>"A","Ã"=>"A","Ạ"=>"A", "Ấ"=>"A","Ầ"=>"A","Ẩ"=>"A","Ẫ"=>"A","Ậ"=>"A", "Ắ"=>"A","Ằ"=>"A","Ẳ"=>"A","Ẵ"=>"A","Ặ"=>"A", "É"=>"E","È"=>"E","Ẻ"=>"E","Ẽ"=>"E","Ẹ"=>"E", "Ế"=>"E","Ề"=>"E","Ể"=>"E","Ễ"=>"E","Ệ"=>"E", "Í"=>"I","Ì"=>"I","Ỉ"=>"I","Ĩ"=>"I","Ị"=>"I", "Ư"=>"U","Ô"=>"O","Ơ"=>"O","Ê"=>"E", "Ư"=>"U","Ô"=>"O","Ơ"=>"O","Ê"=>"E", "Ú"=>"U","Ù"=>"U","Ủ"=>"U","Ũ"=>"U","Ụ"=>"U", "Ứ"=>"U","Ừ"=>"U","Ử"=>"U","Ữ"=>"U","Ự"=>"U", "Ó"=>"O","Ò"=>"O","Ỏ"=>"O","Õ"=>"O","Ọ"=>"O", "Ớ"=>"O","Ờ"=>"O","Ở"=>"O","Ỡ"=>"O","Ợ"=>"O", "Ố"=>"O","Ồ"=>"O","Ổ"=>"O","Ỗ"=>"O","Ộ"=>"O", "Ú"=>"U","Ù"=>"U","Ủ"=>"U","Ũ"=>"U","Ụ"=>"U", "Ứ"=>"U","Ừ"=>"U","Ử"=>"U","Ữ"=>"U","Ự"=>"U",);
$str = strtr($str, $trans);

if ($utf8_decode)

$str = utf8_decode($str);

for ($i = 0; $i < $length; $i++)

{

$char = Tools::substr($str, $i, 1);

if (Tools::strlen(htmlentities($char)) > 1)

{

$entity = htmlentities($char, ENT_COMPAT, 'UTF-8');

$purified .= $entity{1};

}

elseif (preg_match('|[[:alpha:]]{1}|u', $char))

$purified .= $char;

elseif (preg_match('<[[:digit:]]|-{1}>', $char))

$purified .= $char;

elseif ($char == ' ')

$purified .= '-';

}

return trim(self::strtolower($purified));

}

Warn: format UTF-8 without BOM.
 

 

How can i config it manually for Prestashop 1.6.0.9 ?

Please help me. I must do it

 

Thanks and best regards

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...