Heim >Backend-Entwicklung >PHP-Tutorial > smarty 列表插件显示标题长度和连接解决思路

smarty 列表插件显示标题长度和连接解决思路

WBOY
WBOYOriginal
2016-06-13 13:42:53936Durchsuche

smarty 列表插件显示标题长度和连接
现在在写一个站, 要在smarty 插件那里写一个列表插件,要截取标题长度。

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php function smarty_function_list($params, &$smarty)
    {
        extract($params);
        $cate = !empty($cate) ? trim($cate) : '';//表名
        $items = !empty($items) ? trim($items) : '*';//字段
        $length=!empty($length) ? trim ($length) :'10';//长度
        $where = !empty($where) ? trim($where) : '';//条件
        $order = !empty($order) ? trim($order) : '';//排序
        $page = !empty($page) ? intval($page) : 0;//分页
        $pagesize = !empty($pagesize) ? intval($pagesize) : 20;
        $varname = !empty($varname) ? trim($varname) : '';

        global $db;
        global $table;
        $sql="select $items from ".$table[$cate];
        if(!empty($where))
        {
            $sql.=" where $where ";
        }
        if(!empty($order))
        {
          $sql.=" order by $order";
        }
        $page=max($page,1);
        if($pagesize<1)
        {
            $pagesize=10;
        }
        $rs=$db->PageExecute($sql,$pagesize,$page);
        $rs=$rs->getRows();
        $smarty->assign($length,$length);
        $smarty->assign($varname, $rs);
        unset($rs);
    }
?>


上面是插件代码;
HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
{--list cate="articles" items="Title" length=4 varname="rs"--}
{--foreach from=$rs item=r--}
{--$r.Title--}<br>
{--/foreach--}


上面是模板代码。
现在就是要截取标题长度,和标题连接
$r.Titletruncatecn:$length:"...":true
这种的是不行的!各位师兄,师姐谢谢了!

------解决方案--------------------
探讨

$length是哪里来的?

如果是变了的话,试下这个呢
$r.Title|truncate:`$length`:"...":true
要不就指定一个具体数字
$r.Title|truncate:30:"...":true
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn