В модуле audio из Id3 тегов делаются clean тэги для просмотра.
При русских тегах они делаются неправильно, по крайней мере у меня, урезаются до одной буквы.
Если у кого тоже есть такая проблема, то вот первое попавшееся в голову и сделанное решение и заплатка.
1. Установить модуль Transliteration http://drupal.org/project/transliteration, активировать его.
2. В модуле audio.module ищем функцию audio_clean_tag($string).
3. После строчки if (preg_match... вставляем if из пяти строчек.
4. Всё.
// If we've got characters besides 0-9 A-Z a-z hyphen and underscore, replace
// them.
if (preg_match('/[^-\w]/', $string)) {
if (module_exists('transliteration')) {
require_once(drupal_get_path('module', 'transliteration') .'/transliteration.inc');
$string = transliteration_clean_filename($string);
return strtolower($string);
}
Полноценного тестирования не проводил. Не могу, На ваше усмотрение. Ну сами знаете, где менять, если что.
Модуль Transliteration конечно не все делает так как хотелось бы, зато по стандарту
Приятного просмотра аудио материалов и их прослушивания!
Комментарии
Вот еще есть такой модуль http://drupal.org/project/file_translit
очень важная тема.
2vb: очень актуально. Думаю слить в едино и ваш труд к переводу и сделать типа мини патча. Большое спасибо!
к сожаления не могу занятся переводом в полной мере, я ваш жду:) а в нем исправлю юзеру видные строчки, а с патчем правильная идея, но у меня и на нее нет времени, работает и хорошо.
В блоге вывесил перевод. Все подробности там-с!
странно, вставляю этот код и сайт перестает работать.
Кто-нибудь нашел решение к этой проблеме или может подтвердить, что вышеуказанный код решает её в 5.х или 6.х?
Может ещё и ссылку на полный перевод кто кинет?
Заранее благодарен.
народ, пожалуйста, выложите кусочек с готовым кодом, как и где именно вставлялось...
Вот как код смотрится когда его вставишь....
// If we've got characters besides 0-9 A-Z a-z hyphen and underscore, replace
// them.
if (preg_match('/[^-\w]/', $string)) {
// Вот вставляный код
if (module_exists('transliteration')) {
require_once(drupal_get_path('module', 'transliteration') .'/transliteration.inc');
$string = transliteration_clean_filename($string);
return strtolower($string);
}
// Конец вставляному коду
// Remove accents...
$string = strtr($string, '????????????????????????????????????????????????????????????', 'SZszYAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy');
// ...convert to equivalent chars...
$string = strtr($string, array('?' => 'TH', '?' => 'th', '?' => 'DH', '?' => 'dh', '?' => 'ss', '?' => 'OE', '?' => 'oe', '?' => 'AE', '?' => 'ae', '?' => 'u'));
// ... and remove anything else that's not alphanumeric and replace it with an underscore.
$string = preg_replace('/[^-\w]+/', '_', $string);
}
// Remove leading and trailing underscores.
$string = trim($string, '_');
// Finally, make it to lower case.
return strtolower($string);
}
В общем работает без проблем только как сделать чтобы когда нажимаешь аудио тэги происходила сортировка на русском языка, а не транслитнутом русском латинскими буквами.
Ребят подскажите - я только начинаю разбираться с друпалом и вот закопался с синонимами.
Поставил себе последнюю версию pathauto и модуль транслитерации.
Появилась галочка - поставил
Но урл создаються стандартные, почему то не создаёт синонимы автоматом