Транслитерируем русские clean тэги в модуле audio
Прислано: vb
ср, 19/12/2007 - 16:19
В модуле audio из Id3 тегов делаются clean тэги для просмотра.
При русских тегах они делаются неправильно, по крайней мере у меня, урезаются до одной буквы.
Если у кого тоже есть такая проблема, то вот первое попавшееся в голову и сделанное решение и заплатка.
1. Установить модуль Transliteration http://drupal.org/project/transliteration, активировать его.
2. В модуле audio.module ищем функцию audio_clean_tag($string).
3. После строчки if (preg_match... вставляем if из пяти строчек.
4. Всё.
function audio_clean_tag($string) { // 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 конечно не все делает так как хотелось бы, зато по стандарту :)
Приятного просмотра аудио материалов и их прослушивания!
- vb's blog
- Для комментирования войдите или зарегистрируйтесь
Вот еще есть такой модуль http://drupal.org/project/file_translit
- Для комментирования войдите или зарегистрируйтесь
Вот еще есть такой модуль http://drupal.org/project/file_translit
Это устаревшая разработка, теперь развивается Transliteration с расширением функций, поэтому file_translit не был рекомендован и код для него не приведен, но проверено также работает.
У кого есть file_translit, его нужно заменять на Transliteration.
- Для комментирования войдите или зарегистрируйтесь
очень важная тема.
- Для комментирования войдите или зарегистрируйтесь
2vb: очень актуально. Думаю слить в едино и ваш труд к переводу и сделать типа мини патча. Большое спасибо!
- Для комментирования войдите или зарегистрируйтесь
к сожаления не могу занятся переводом в полной мере, я ваш жду:) а в нем исправлю юзеру видные строчки, а с патчем правильная идея, но у меня и на нее нет времени, работает и хорошо.
- Для комментирования войдите или зарегистрируйтесь
В блоге вывесил перевод. Все подробности там-с!
- Для комментирования войдите или зарегистрируйтесь
странно, вставляю этот код и сайт перестает работать.
- Для комментирования войдите или зарегистрируйтесь
Кто-нибудь нашел решение к этой проблеме или может подтвердить, что вышеуказанный код решает её в 5.х или 6.х?
Может ещё и ссылку на полный перевод кто кинет?
Заранее благодарен.
- Для комментирования войдите или зарегистрируйтесь
народ, пожалуйста, выложите кусочек с готовым кодом, как и где именно вставлялось...
- Для комментирования войдите или зарегистрируйтесь
Вот как код смотрится когда его вставишь....
function audio_clean_tag($string) { // 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 и модуль транслитерации.
Появилась галочка - поставил
Но урл создаються стандартные, почему то не создаёт синонимы автоматом :(
- Для комментирования войдите или зарегистрируйтесь





Комментарии