Joomla3.3.6 + K2 2.6.8 分類版面「介紹文字限制」無法運作….



  • 大家好

    先附上相關

    • K2 2.6.8 (之前裝2.6.6中文化異常, 重裝K2 ok 但中文化包沒刪除)
    • PHP 5.3.28
    • Apache 版本不知
    • MySQL 5.5.37-cll (utf8_general_ci)

    Q:K2的分類版面使用「介紹文字限制 (introtext word limit」無法運作

    • 不管「限制字數」設定多少, 都會顯示所有文字
    • 有顯示「閱讀全文」的連結

    我試了一些方法,如下
    1. 「隱藏」介紹文字 => 確實會不見
    2. 直接到model/item.php找到一段, 拿出來templates override (category_item.php) 也沒有用
    item->introtext, 50); ?>
    3. 直接用 php substr() => 終於有變化了 只是會有亂碼
    item->introtext, 0, 50); ?>
    4. 改用 php mb_substr() => 變得比較正常了, 可是內文有存在 " " 這種空白符號 不知道那來的
    item->introtext, 0, 50, “UTF-8”); ?>
    5. 再加上 str_replace先把 " " 拿掉, 再做 mb_substr => 終於可以了….
    item->introtext, 0), 50, “UTF-8”); ?>

    最後雖然有達到目的, 可是很麻煩… 以後每個版面都要做override才能限制文字
    而且根本問題我沒辦法解開為什麼 K2HelperUtilities::wordLimit($this->item->introtext, 50);
    沒有動作, 我搞不懂 請各位前輩幫忙, 是我的設定不對嗎

    感謝大家



  • 您好,

    不曉得對您有沒有幫助。

    有關亂碼的問題,
    我們是改在這邊:./templates/noo_nozix/html/mod_k2_content/Default/default.php 的 #93 行,
    把它替換成這樣:
    echo join("", array_slice(preg_split("//u", $item->introtext, -1, PREG_SPLIT_NO_EMPTY), 0, $params->get(‘itemIntroTextWordLimit’, 50))).’…’;

    Cheers,

    aqtw



  • 中文等字符環境,應該使用下列代碼:
    item->introtext,80); ?>
    這是根據字符截斷限制,每個中文字符中三箇字符,基本上所有語言都可以用此方式(但會暴力截斷英文單詞,所以隻建議中文等非拉丁文字符使用)

    你提到的
    item->introtext,80); ?>
    是用于英文單詞來截斷限制,所以你用于中文環境是無效的


登入以回覆

看起來你的連線到 Joomla!台灣討論區 已經遺失,請稍等一下我們嘗試重新連線。