Главное меню

Компоненты Joomla

Соцсети и месcенджеры на сайте Джумла
21 Май 2018 22:20 - Super UserСоцсети и месcенджеры на сайте Джумла

Наверное не стоит недооценивать в наше богатое общением в соцсетях [ ... ]

Antivirus Website Protection-компонент безопасности
16 Май 2018 23:00 - Super UserAntivirus Website Protection-компонент безопасности

Antivirus Website Protection-компонент безопасности онент [ ... ]

Egoltlike-master - плагин и модуль для лайков
06 Май 2018 22:49 - Super UserEgoltlike-master - плагин и модуль для лайков

Интересно сайте обратную связьпользователями [ ... ]

DJ-ImageSlider v3.1.2 - слайдер изображений
26 Янв 2017 22:23 - Super UserDJ-ImageSlider v3.1.2 - слайдер изображений

Кто пользуется слайдером айс карусель на джумле 3.0-3.6 тот наверно почувствовал [ ... ]

Другие настройки

Личная ПРОСЬБА

Приму в подарок плагин JomDefender для Joomla-3

 послать на   joomla-prosto@yandex.ru

 Если кому-то на нашем сайте попадался модуль со встроенными ссылками, прошу написать на выше указанную почту или в контакты нажав эту кнопку. Это нужно нам всем!

  

 

 

 

 


 

 Скачивайте Комплект видео уроков по строительству сайтов на Joomla 3.0 с управлением из одного меню совершенно бесплатно. Просто пожелайте мне здоровья и удачи. До встречи, Олег. 


 

Ромбики с вопросами вместо букв кириллицы

Рисунок 1 к статье Ромбики с вопросамиРомбики с вопросами вместо букв кириллицы в окончаниях текста выводимого в модулях или компонентах - это кошмар. Причём если бы все буквы кириллицы выводились в виде таких ромбиков, обычно чёрных с белыми вопросами, но бывают в основном в цвет текста, то это было бы понятно, и мы бы сразу поняли, что причина в неправильной кодировке файлов, а именно нужные файлы не имеют кодировки UTF-8. Решение здесь довольно простое, пере сохранить неправильно выводимый текст в UTF-8. Но в нашем случае весть текст кириллицы выводится модулями правильно и только последний знак заменяется на ромбик с вопросом. Можно было бы, конечно просто плюнуть на этот факт, но мы с Вами должны докопаться до причины такого казуса и устранить его. К тому же этот факт несёт в себе и скрытые, но довольно неприятные угрозы. Ваш сайт неправильно читается браузерами. При попытке подвергнуть валидации ту страницу сайта, где выводится это безобразие, сервисы блокируют проверку и выводят сообщение, что не могут провести проверку из-за наличия текста сохранённого не в UTF-8. А это уже прямая угроза тому, что Ваш сайт может быть ранжирован ниже своих возможностей, или страницы исключат из поиска поисковые роботы. Так что же делать? Я заметил такие выкрутасы на двух модулях, которые были мной скачаны с официальных сайтов разработчиков.

Рисунок 2 к статье Ромбики с вопросами Но видимо их мало волнуют наши проблемы с применением кириллицы, или они просто об этом не подумали потому и допустили это. Самое противное, что в паре шаблонов не было замечено подобных глюков, видимо внутри этих навороченных монстров как-то учитывалась эта функция. А виновата в этом именно функция, которая называется substr(). Эта функция автоматической обрезки текста, выводимого в модулях и компонентах Joomla.

Определение: SUBSTR - Функция предназначена для получения подстроки или замены части строки. А ведь существует подобная функция, но она более подходит для нас. MB_SUBSTR - Функция предназначена для получения мультибайтной (UTF-8) подстроки или замены части строки. Догадываетесь, что нужно сделать? Правильно. Нужно заменить функцию substr, которая явно не справляется с мультибайтной UTF-8 обрезкой строки на функцию mb_substr. Просто меняем.

Для примера берём модуль анонсированный и на моём сайте MiniFrontPage 2.1.3 - прекрасный во всех отношениях кроме одного, функции substr. Для того, чтобы найти в нём следы использования этой функции открываем папку модуля и ищем файл: helper.php Находим строки 188, 190, 400, 450 и к substr добавляем mb, чтобы получилось mb_substr. После этого находим в файле helper.php такую строку: $strip = strip_tags($text);(строка примерно 397) и вставляем ниже неё следующую:$n=0;
while (!($strip[$n]==" " && $n>$limit) && $n < strlen($strip)) $n++; $limit=$n;
Далее посещаем файл: mod_minifrontpage.php Находим строки 190, 196 и к substr так же добавляем mb, чтобы получилось mb_substr. Эту операцию лучше выполнять с использованием редактора NotePad++. Вот теперь уже точно работает. Если и теперь есть ромбики с вопросами просто очистите историю в браузере(кэш и куки)

Еще один опубликованный модуль - Модуль показа новостей latestnewsenhanced17 та же самая история. Чтобы заменить substr на mb_substr заходим в папку модуля и открываем файл: helper.php Находим её на строке 254 и производим замену Всё. По крайней мере на моих сайтах всё заработало. Подобным образом исправляем ошибки в других модулях. Вот и весь мой отчёт. До встречи. Олег.

PS  После всех манипуляций обрезка строки выделенной тегами <strong> происходит некорректно, так что просто избегайте выделения в начале статьи. Но если у Вас есть решение, напишите об этом в коменте я проверю и опубликую.



Если эта статья показалась вам полезной, пожалуйста, проголосуйте за нее. Это поможет другим быстрее найти эту статью из множества других менее полезных.
( 7 Голосов ) 

Комментарии   

 
#7Guest18.12.2017 23:57
Комментарий был удален администратором
 
 
Админ
#6Админ20.05.2015 00:32
Цитирую SuperUser:
Помог, спасибо! :D

Я рад за ВАС
 
 
SuperUser
#5SuperUser13.05.2015 01:43
Помог, спасибо! :D
 
 
Админ
#4Админ10.12.2013 11:49
Цитирую bake:
Не могу найти функцию substr в модуле k2_content, что бы поменять его на mb_substr?

В К2 это делается по другому, там все по другому. Как? пока не разбирался с этим.
 
 
bake
#3bake09.12.2013 15:31
Не могу найти функцию substr в модуле k2_content, что бы поменять его на mb_substr?
 
 
Админ
#2Админ15.08.2013 15:09
Цитирую Elena:
Спасибо, ромбы убирает в minifrontpage, но слова выделенные < strong > съедает. Не знаете, как это исправить?

Я об этом писал в постскриптуме статьи(PS)
Как выйти из положения? Пока решения нет. Просто как вариант, Добавьте несколько слов без выделения
 
 
Elena
#1Elena12.08.2013 19:51
Спасибо, ромбы убирает в minifrontpage, но слова выделенные < strong > съедает. Не знаете, как это исправить?
 

You have no rights to post comments

Новые расширения

Меню Нинзя с иконками
19 Янв 2016 19:17 - Super UserМеню Нинзя с иконками

Сегодня я хочу Вам предложить очень интересный, красивый [ ... ]

NEW! Joomla 2.5
Социальный замок для Joomla 3
27 Янв 2016 19:35 - Super UserСоциальный замок для Joomla 3

Просматривая в интернете новые rong> я [ ... ]

NEW! Joomla 2.5
DJ-EasyContact - модуль контактов
10 Фев 2017 21:38 - Super UserDJ-EasyContact - модуль контактов

Интересный и нужный модуль, особенно для продающих сайтов, [ ... ]

NEW! Joomla 2.5

Форма входа

Нажимая на кнопку регистрация, Вы соглашаетесь на обработку и хранение Ваших персональных данных, таких как логин, email,IP-адрес

Кошельки для пожертвований

Яндекс.Метрика