Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 3883 Просмотров
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Друзья,  решить проблему. Нашел замечательный модуль Mini frontpage
С его помощью очень удобно выводить последние или случайные новости на разных страницах.

Однако у него есть традиционная проблема - некорректная обрезка кириллических символов при включении их лимита.

Прописывание Jstring:: проблему не решает  :(

Проблема в этом коде, как ее победить я не знаю.
Если не трудно - помогите!
Код
//function added by Jerry Wijaya
if (!function_exists("fptn_limittext")) {
function fptn_limittext($text,$allowed_tags,$limit) {
$strip = strip_tags($text);
$endText = (JString::strlen($strip) > $limit)? "..." : "";
$strip = JString::substr($strip, 0, $limit);
$striptag = strip_tags($text, $allowed_tags);
$lentag = JString::strlen($striptag);

$display = "";
if(strlen($strip)>$limit)
{
$x = 0;
$ignore = true;
for($n = 0; $n < $limit; $n++) {
for($m = $x; $m < $lentag; $m++) {
$x++;
if($striptag[$m] == "<") {
$ignore = false;
} else if($striptag[$m] == ">") {
$ignore = true;
}
if($ignore == true) {
if($strip[$n] != $striptag[$m]) {
$display .= $striptag[$m];
} else {
$display .= $strip[$n];
break;
}
} else {
$display .= $striptag[$m];
}
}
}
else{
$display = $striptag;
}
return fix_tags ('<p>'.$display.$endText.'</p>');}
}

PS. В аттаче прицепил сам модуль.

[вложение удалено Администратором]
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Dal

  • Новичок
  • 5
  • 0 / 0
Кстати нашел довольно интересный баг - если последний выводимый символ кириллицы ЗАГЛАВНЫЙ, то выводится без проблем. Можете сами проверить. Буду думать дальше, потому что сам столкнулся с такой же проблемой..
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
да, тоже подметил эту "фичу"
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Dal

  • Новичок
  • 5
  • 0 / 0
Вобщем вроде как работает. Нужно протестировать:

Эту строку

Код
$striptag = strip_tags($text, $allowed_tags);

Заменяем на эту:

Код
$striptag = strip_tags($text);

То есть я просто убираю переменную $allowed_tags - разрешенные теги. Вроде как работает. Проверяем..
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Не помогает
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Dal

  • Новичок
  • 5
  • 0 / 0
Мне помогло - по крайней мере пока ошибок не вижу.
Joomla 1.5.15 RE c Joom.ru
http://extensions.joomla.org/extensions/2751/details - сам плагин отсюда

Это моя система на текущий момент - сделал все что описал выше. Если вдруг что еще придумаю - напишу
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Да система ничем не отличается. И плагин оттуда-же.
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Dal

  • Новичок
  • 5
  • 0 / 0
Ну тогда не знаю - как придумаю что напишу.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
В это стройке  добавить JString?

if(strlen($strip)>$limit)
Ой, это вообще продукт моего больного формотвочества :) Там такого нет и не может быть. Фишка где-то зарыта, а где, блин не понимаю :(
« Последнее редактирование: 12.12.2009, 20:50:29 от crazyASD »
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
там проблема не только в функциях обрезки части строки, но и в цикле в котором строка обрабатывается как массив
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Осталось понять как этот цикл пофиксить, я к сожалению языками владею плохо...
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

tolstoj

  • Новичок
  • 6
  • 0 / 0
Тема старая, но проблема в модуле осталась.
На офф. форуме есть решение:
в helper.php между
Код
$endText = (strlen($strip) > $limit)? "&nbsp;[&nbsp;...&nbsp;]" : ""; 
и
Код
$strip = substr($strip, 0, $limit);
вставить
Код
//following 3 lines added to fix problem with strange symbol appended at the end of introtext
//in case of greek characters
$n=0;
while (!($strip[$n]==" " && $n>$limit) && $n < strlen($strip)) $n++;
$limit=$n;
//end of fix

Проверенно, работает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ограничение на количество символов в названии файлов

Автор vova630

Ответов: 0
Просмотров: 850
Последний ответ 18.02.2020, 17:51:46
от vova630
Mini FrontPage с ромбами в конце слов

Автор sova

Ответов: 7
Просмотров: 4260
Последний ответ 28.07.2019, 21:52:09
от Mister Shadow
При загрузке Google Карт на этой странице возникла проблема

Автор amor

Ответов: 10
Просмотров: 8691
Последний ответ 24.03.2019, 22:51:24
от amor
Проблема со строкой в колонке (шорткод)

Автор bayersoff

Ответов: 0
Просмотров: 1414
Последний ответ 27.09.2017, 15:53:12
от bayersoff
Проблема после установки jch optimize

Автор Sasha25Sh

Ответов: 13
Просмотров: 4481
Последний ответ 30.06.2017, 19:53:31
от Alex_Vazovski