切割Joomla Contant模块中的标题字符

问题描述:

我需要你的帮助,在这种情况下,我有joomla模块,并希望从指定的joomla库string.php限制切割标题。我这个代码更改:切割Joomla Contant模块中的标题字符

<?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/truncate method,你可以使用,我已经用我们的一些模板和覆盖使用它很好的成功。

这种方法会让你简化你的代码,你可以代替你的东西,如以下

<?php 
$limit =100; 
echo JHTML::_('string.truncate', ($this->item->text), $limit, false, false); 
?> 

更多JHtmlString /截断整个最后的PHP代码块:https://docs.joomla.org/API16:JHtmlString/truncate

一些示例代码,这可能是帮助:
https://gist.github.com/2dpi/a540527a64f9f0093392

https://hotexamples.com/examples/-/JHtmlString/truncateComplex/php-jhtmlstring-truncatecomplex-method-examples.html

祝你好运!