Столкнулся с такой же проблемой.
Удалось решить?
Какие настройки обмена ставили?
А база должна быть не файловая обязательно?
Удалось решить?
Какие настройки обмена ставили?
А база должна быть не файловая обязательно?
13.11.2010 17:57:52
В общем разобрался сам.
// файл /bitrix/php_interface/init.php (если его нет, то создаём сами) // функция для транслита (можно изменить под себя) function translit($str) { $tr = array( "А"=>"a","Б"=>"b","В"=>"v","Г"=>"g", "Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i", "Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n", "О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t", "У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch", "Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"", "Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b", "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j", "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h", "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y", "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya", " "=> "-", "."=> "", "/"=> "-" ); return strtr($str,$tr); } // регистрируем обработчик для транслита наименования товара AddEventHandler("iblock", "OnBeforeIBlockElementAdd", Array("MyEvent", "OnBeforeIBlockElementAddHandler")); class MyEvent { function OnBeforeIBlockElementAddHandler(&$arFields) { $s_Name = trim($arFields['NAME']); if(strlen($arFields['CODE']) <= 0) { $arFields['CODE'] = translit($s_Name); } } } // регистрируем обработчик для транслита имен разделов AddEventHandler("iblock", "OnBeforeIBlockSectionAdd", Array("MyEventSec", "OnBeforeIBlockSectionAddHandler")); class MyEventSec { function OnBeforeIBlockSectionAddHandler(&$arFields) { $s_Name = trim($arFields['NAME']); if(strlen($arFields['CODE']) <= 0) { $arFields['CODE'] = translit($s_Name); } } } Только не решен вопрос уникальности (но в моем проекте это не критично) спасибо |
|
|