Форум русской поддержки Joomla!® CMS
08.12.2016, 04:07:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как обрезать обрезать текст превью в шаблоне html\com_content\category\blog_item.php?

 (Прочитано 568 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Kuzmitch
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 148



« : 14.07.2015, 19:51:35 »

Код:
if (strlen($article->images['intro']['image']))
    $content .= $article->image($article->images['intro']);
$content .= $article->intro($article->intro); // как обрезать вывод превью ?
if (strlen($article->readmore))
    $content .= $article->readmore($article->readmore, $article->readmoreLink);

Есть кусок кода который отвечает за превью в блоге категории, как его обрезать в 200 символов ?
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #1 : 14.07.2015, 20:10:22 »

как его обрезать в 200 символов ?

Код:
JString::substr($article->intro($article->intro), 0, 200)
Записан
passer
Живу я здесь
******

Репутация: +69/-3
Offline Offline

Пол: Мужской
Сообщений: 829



« Ответ #2 : 14.07.2015, 20:49:22 »

Не все так просто, а если эти 200 обрежут закрывающий тег или придутся на середину ссылки. Придет пц верстке всей страницы.
Записан
Kuzmitch
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 148



« Ответ #3 : 14.07.2015, 21:14:36 »

Код:
JString::substr($article->intro($article->intro), 0, 200)

К сожалению не получилось.
вот полны код вывода - на всякий случай. п.с. код не мой
Код:
<?php
defined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');
JHtml::_('behavior.tooltip');
JHtml::core();

Artx::load("Artx_Content");

$component = new ArtxContent($this, $this->params);
$article = $component->article('category', $this->item, $this->item->params);

$params = $article->getArticleViewParameters();
if (strlen($article->title)) {
    $params['header-text'] = $this->escape($article->title);
    if (strlen($article->titleLink))
        $params['header-link'] = $article->titleLink;
}
// Change the order of ""if"" statements to change the order of article metadata header items.
if (strlen($article->created))
    $params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->createdDateInfo($article->created). "</span>";
if (strlen($article->modified))
    $params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->modifiedDateInfo($article->modified). "</span>";
if (strlen($article->published))
    $params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->publishedDateInfo($article->published). "</span>";
if (strlen($article->author))
    $params['metadata-header-icons'][] = "<span class=\"art-postauthoricon\">" . $article->authorInfo($article->author, $article->authorLink). "</span>";
if ($article->editIconVisible)
    $params['metadata-header-icons'][] = $article->editIcon();
if (strlen($article->hits))
    $params['metadata-header-icons'][] = $article->hitsInfo($article->hits);
// Build article content
$content = '';
if (!$article->introVisible)
    $content .= $article->event('afterDisplayTitle');
$content .= $article->event('beforeDisplayContent');
if (strlen($article->images['intro']['image']))
    $content .= $article->image($article->images['intro']);
//JString::substr($article->intro($article->intro), 0, 200);

$content .= $article->intro($article->intro);
if (strlen($article->readmore))
    $content .= $article->readmore($article->readmore, $article->readmoreLink);
$content .= $article->event('afterDisplayContent');
$params['content'] = $content;

// Render article
echo $article->article($params);

Быть может для этого плагин какой-то есть ?
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3590


« Ответ #4 : 14.07.2015, 21:20:41 »

Что это вы все помешаны на плагинах (модулях, компонентах), когда можно обходиться 01 строкой кода в шаблоне?
1. Вы не там ставили код.
2. Послушайте совет
Не все так просто, а если эти 200 обрежут закрывающий тег или придутся на середину ссылки. Придет пц верстке всей страницы.
и определитесь с начала, будут ли в обрезанном тексте HTML-тэги.

P.S. И вообще, надо проверить работоспособность кода.
« Последнее редактирование: 14.07.2015, 21:28:54 от robert » Записан
midav
Живу я здесь
******

Репутация: +113/-1
Offline Offline

Пол: Мужской
Сообщений: 946



« Ответ #5 : 14.07.2015, 21:30:33 »

Можно вырезать HTML теги :
Код
echo mb_substr( strip_tags($introtext), 0, 200, 'UTF-8')
 

Переменную introtext надо заменить на свою .
Записан
Kuzmitch
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 148



« Ответ #6 : 14.07.2015, 23:39:54 »

В общем под свои нужды сделал так.
Код
echo mb_substr( strip_tags($article->intro($article->intro), '<img>'), 0, 210, 'UTF-8')."...";
Оставил текст, и картинку т.к. у меня фото вставляется в текст превьюхи.
Всем спасибо за помощь!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet