トップページの表示が崩れるのを解決
これはテーマファイルの中で使っている「word_limiter()」が日本語非対応っていう問題。
system/application/view/themes/boxy_but_good/
っていうディレクトリにある「_activity_feed.php」の
word_limiter(strip_tags($item->get_content()), 25)
っていうところを
mb_strimwidth(strip_tags($item->get_content()), 0, 200, "...")
に書き換えると良い結果が得られました。単純に関数を換えただけですね。「200」っていうのは閾値なんだけど、微妙に200で100文字とかになる気がする。
ブログとかのタグをそのまま表示する
Sweetcronで他のブログなどからフィードを取得すると、シングルページでもタグが無視されて見難くなります。これを避けるにはプラグインを書くのが早いと思います。
まず自分のブログのドメインをファイル名に含めたPHPスクリプトを作ります。「yourblog.com」というドメイン名なら、「yourblog_com.php」という風になります。ドメインの中の「.」を「_」に置き換えるんですね。僕の場合「blog.cockscomb.info」というドメインなので「blog_cockscomb_info.php」になりました。
次にスクリプトの中身ですが
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class yourblog_com {
function pre_db($item)
{
return $item;
}
function pre_display($item)
{
$item->item_content = $item->item_data['content'];
return $item;
}
}
?>
このようになります。「yourblog_com」の部分は先ほどのファイル名と同じように、ドメインにあわせて換えてください。簡単に何をしているか説明すると、プラグインでは2つのフックを利用でき、データベースに格納する前の「pre_db()」と表示する前の「pre_display()」があります。このうち表示する前のところで、通常タグをストリップされた状態の「item_content」に生のデータが格納された配列の「item_data」のうちコンテント部分を直接つっこむだけの簡単なお仕事です。ちょっと無茶している感じもしますが、まあ自分のブログだから大丈夫かな。わかんないけど。
で、これを
system/application/plugins/
ディレクトリに保存すれば、多分大丈夫だと思うよ。
誰か助けて欲しい
結構ここまでは頑張ったんだけど、なぜかUTF-8のBOMかなんかが意味わかんないことになってて、ブラウザにDOCTYPE宣言が認識されないくさい。CORESERVER固有の問題かも分からないけど、本当マジわかんないから誰か教えてください。Internet Explorerとかで酷いことになってる。
どうも。はじめました。
自分も上記と近い状況で文字化けしてしまってました。
プログラムは素人なので、mb_convertでひとつづつ
utfに変換しました。
表示だけ考えると、きちんとなったのですが、rssとか崩れるし、
なんか気持ち悪いです。
もし、解決方法をお導きだしておられましたら、ご教示ください。
ga
>ga さん
こんにちは。状況が分からないので何とも言えませんが、僕の場合は
/system/application/config/config.php
を UTF-8 の BOM 付きで保存していたのがトラブルの原因でした。この BOM というやつを正確に認識できないブラウザがエラーを出していたようです。ですから単純に BOM なしで保存し直すことで回避できました。その結果が http://cockscomb.info/ です。ga さんの状況にもよりますが、ご自分で編集されたファイルが BOM つきになっていないか確認なさると良いかもしれません。大したことではありませんがお役に立てれば幸いです。ああ、あともしよろしければ ga さんのすてきなサイトも教えていただければうれしく思います。