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

ArtHodorev

  • Новичок
  • 2
  • 0 / 0
Здравствуйте все. Столкнулся с ситуацией, в которой мне необходимо сократить слова или символы интротекста в блоге категории до определенного количества.
Выводится анонс, на сколько я понял, в файле "blog_item.php" вот в этом месте:
Код
<?php if (!$params->get('show_intro')) : ?>
<?php echo $this->item->event->afterDisplayTitle; ?>
<?php endif; ?>
<?php echo $this->item->event->beforeDisplayContent; ?> <?php echo $this->item->introtext; ?>

Я нашел в сети пару примеров решения подобной проблемы, но моих знаний в php не достаточно, чтобы адаптировать эти решения под свои нужды.
Решение с сокращением вывода анонса посимвольно:
Код
<? $gij=mb_substr($product->short_description, 0, 300). '...';?>
            <?php echo $gij;?>
Но тут, по всей видимости, исправлялся какой-то модуль интернет-магазина (переменная $product меня надолкнула на эту мысль).

И второе решение. Уже по сокращению слов:
Код
<?$str=($product->short_description);
            //разбиваем на массив
             $arr_str = explode(" ", $str);
            //берем первые 6 элементов
            $arr = array_slice($arr_str, 0, 12);
            //превращаем в строку
            $new_str = implode(" ", $arr);
 
           // Если необходимо добавить многоточие
            if (count($arr_str) > 12) {
            $new_str .= '...';
            }
            echo $new_str;//Выведет 'Этот текст имеет большое количество пробелов и...'?>

Мне подойдет любой вариант выхода из ситуации. Помогите пожалуйста.
*

fbr

  • Завсегдатай
  • 1367
  • 157 / 6
В файле blog_item.php находите и заменяете код:

Код: php
<?php echo $this->item->introtext; ?>

меняете на

<?php echo JHtml::_('string.truncate', ($this->item->introtext), 200); ?>

где 200 - нужное количество символов
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Тогда уж заодно можно вырезать HTML теги .

Код: php
<?php echo JHtml::_('string.truncate', ($this->item->introtext), 200, true, false); ?>
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Efanych

  • Глобальный модератор
  • 4683
  • 641 / 0
  • Меняю свою жизнь на 360°!
Тогда уже интротекст вообще нафиг не нужен. Обрезайте полный. Заодно и readmore ставить не нужно будет...
Создание сайтов, шаблонов, помощь в решении проблем.
*

ArtHodorev

  • Новичок
  • 2
  • 0 / 0
fbr
Спасибо большое, все получилось. Небольшой вопрос: после текста теперь появляется многоточие и при чем на новой строке. Само многоточие меня не парит, но было бы здорово загнать его сразу после последнего символа без перевода на новую строку. Это возможно сделать?
*

lalalag

  • Захожу иногда
  • 162
  • 0 / 3
а плагин какой то есть? ато не хочется пилить это каждый раз после обновлений
*

Serg_

  • Захожу иногда
  • 170
  • 24 / 1
  • Skype: smile_bot (Запорожье)
Цитировать
не хочется пилить это каждый раз после обновлений
Почитайте про переопределения Joomla.
Вы очень сильно себе упростите дальнейшую работу с ней.
К примеру, можно в папку шаблона скопировать com_content/category/blog_item.php отредактировать его и обновляться спокойненько.
*

Gover

  • Захожу иногда
  • 197
  • 3 / 0
Может проще воспользоваться специальным плагином http://gruz.org.ua/en/extensions/autoreadmore-plugin-for-joomla.html
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести миниатюру материала Joomla через background-image?

Автор Merk

Ответов: 5
Просмотров: 164
Последний ответ 14.11.2018, 17:18:35
от Efanych
Автоматическое ограничение количества символов вводного текста

Автор Toxa33

Ответов: 48
Просмотров: 9034
Последний ответ 05.11.2018, 15:08:08
от autokaif
Ограничить число выводимых символов

Автор SuschnosT

Ответов: 18
Просмотров: 697
Последний ответ 05.11.2018, 03:09:28
от pavelrer
Найти программу для импорта материала

Автор webrapinfo

Ответов: 1
Просмотров: 87
Последний ответ 29.10.2018, 17:44:00
от xpank
Поля field types - Вывод материала

Автор Шмайсер

Ответов: 11
Просмотров: 221
Последний ответ 25.10.2018, 12:51:54
от NewUsers