Mình dùng module latesnews để hiện các chủ đề mới ra trang chủ, có những bài viết có chủ đề quá dài, mình muốn cắt ngắn để nó trên một dòng. bạn nào biết chỉ giúp.
trong tmpl/default.php bạn tìm kiếm: <?php echo $item->text; ?></a> và thay thế bằng: <?php echo ( (JString::strlen( $item->text ) < 22 ) ? $item->text : JString::substr( $item->text, 0, 21 ) . " ..." ); ?></a> với số 22 là độ dài ký tự, 21 = 22 - 1 và bạn có thể tùy biến tiếp, xem demo: http://thekymoihotel.com Ngoài ra, bạn cũng có thể sử dụng hàm explode và implode với dấu cách để xử lý chúng.
Hàm này cắt không đẹp, nó đếm đủ ký tự là cắt, mình tìm được hàm cut_string trên mạng nhưng không biết chèn vào đâu: Mã: <?php function cut_string($str,$len,$more){ if ($str=="" || $str==NULL) return $str; if (is_array($str)) return $str; $str = trim($str); if (strlen($str) <= $len) return $str; $str = substr($str,0,$len); if ($str != "") { if (!substr_count($str," ")) { if ($more) $str .= " ..."; return $str; } while(strlen($str) && ($str[strlen($str)-1] != " ")) { $str = substr($str,0,-1); } $str = substr($str,0,-1); if ($more) $str .= " ..."; } return $str; } ?> Hàm này cắt đẹp hơn.
Cứ cho vào trong file mà có sử dụng nó là tiện nhất, trước sau lệnh gọi không quan trọng, bạn kiểm tra xem $more là cái nữa nhé. Nói chung có nhiều cách xử lý vd như mình gợi ý ở trên có thể sử dụng implode, explode nếu site bạn sử dụng tiếng Việt UTF-8, còn trang demo mình làm cũng mấy năm trước rồi mà lại sử dụng tiếng anh nên mình chỉ sử dụng giải pháp trên là tối ưu rồi.
Mình chèn được hàm cut_string rồi, bạn có thể hướng dẫn mình làm tooltip cho module lates_news được không? Ý mình là đã cắt ngắn tiêu đề, khi rê chuột vào thì hiện đầy đủ tiêu đề.
Khởi động hàm ToolTip một lần duy nhất: PHP: JHTML::_('behavior.tooltip'); Câu lệnh PHP sử dụng ToolTip: PHP: echo JHTML::tooltip('This is the tooltip text','Tooltip title','tooltip.png','','http://www.joomla.org'); HOẶC câu lệnh HTML sử dụng ToolTip: HTML: <span class="editlinktip hasTip" title="Tooltip title::This is the tooltip text" > <a href="http://www.joomla.org"> <img src="tooltip.png" border="0" alt="Tooltip"/> </a> </span> Hình ảnh demo cho câu lệnh trên:
Mình có cài Tooltip này vào: Mã: http://extensions.joomla.org/extensions/news-display/content-elements/tooltips/17548 . Liêu có phải gỡ ra không nhỉ?nó có đụng độ nhau không?
Chả hiều j, Mình ngu quá Nhưng mình thì dùng cách đơn giản lắm với trường hợp title quá dài như vậy, Viết thêm 3 dòng lệnh css cho nó. white-space:nowrap; text-overflow: ellipsis; overflow: hidden; Cách này áp dụng css 3. Rất đơn giản dễ hiểu, Nhưng ko hiệu quả như mấy cách kia, Mình gà xài vậy thôi
CSS là bạn dùng lớp để che mắt thôi, còn PHP kia là cắt đi phần thừa, chỉ có điều CSS mình chỉ biết qua qua ko hiểu ellipsis có nghĩa như thế nào, nói chung mỗi người một phương pháp tùy cơ ứng biến theo trường hợp của bạn sao cho hiệu quả nhất đối với bạn cho dù đó có thể chưa phải là phương pháp tuyệt vời nhất mà các chuyên gia sử dụng.