мне нужна ваша помощь в этом случае; У меня есть модуль в Joomla и хочу вырезать заголовок с указанным лимитом из библиотеки joomla string.php. я изменяю этот код:
<?php if ($params->get('show_title', 1)) : ?>
<h3 itemprop="name">
<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid)); ?>" itemprop="url"><?php echo $this->escape($displayData->title); ?></a>
<?php else : ?>
<?php echo $this->escape($displayData->title); ?>
<?php endif; ?>
</h3>
к этому коду:
<?php if ($params->get('show_title', 1)) : ?>
<h3 itemprop="name">
<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid)); ?>" itemprop="url">
<?php
$limit =100;
if (strlen($this->item->text) > $limit) {
echo (substr($this->item->text, 0, $limit)) . " ... ";
}
else {
echo $this->escape($displayData->title); } ?></a><?php else : ?>
<?php endif; ?>
</h3>
но не работа.
спасибо за внимание ребята.
Joomla имеет встроенный JHtmlString / метод усечения который вы можете использовать, я имел хороший успех, используя его с некоторыми нашими шаблонами и переопределениями.
Этот метод позволит вам упростить ваш код, и вы можете заменить весь свой последний php-блок на что-то вроде следующего
<?php
$limit =100;
echo JHTML::_('string.truncate', ($this->item->text), $limit, false, false);
?>
Подробнее о JHtmlString / truncate: https://docs.joomla.org/API16:JHtmlString/truncate
Некоторые примеры кода, которые могут быть полезны:
https://gist.github.com/2dpi/a540527a64f9f0093392
Удачи!
Других решений пока нет …