長いタイトルの時などに「...」で省略されることがありますよね。

その時に全角だと文字化けすることがあります。当然日本語でも文字化けが発生する可能性があるわけです。


理由は簡単。全角文字は2バイトだからですよね。途中でぶった切られてしまうわけです。


ClipBucketでの省略方法はtruncateを使ってます。

「truncate:50」とやると50バイト?(調べてみると文字数とかキャラクタ数と書いてあった)でぶった切るわけです。


でもvideo.phpでされるページを見てみると文字化けしてないんですよね。トップページのindex.phpだと文字化けしてるのに。。。


答えを見つけました。

video.htmlの動画のタイトル表示するところを見てみると

{$videos[v_list].title|mb_truncate:20:"...":'UTF-8'}

となってるじゃないですか!!


これだ!!


index.htmlにも導入してみると文字化け解消!!!

mb_truncateはSmartyの機能らしいです。

なんで全部mb_truncateじゃないんだろう・・・。
なんか問題あるのかな???
ちょっと不安で全てのtruncateをmb_truncateに置き換えるのはやってません。

[追記]
ここも直さないと正常に動かないかも。。。

includes/functions.phpの中のTruncateIdiotText。

maxlen以上の文字列をnewlenの長さに変更する動作を行っています。

日本語だとこれでかなり削られてしまうし、文字化けも発生してしまう。
とりあえずUTF-8を指定しましょう。

mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');

を適当なところに置いてください。
これで文字化けなんかは解消できると思います。

ただmaxlenとnewlenの初期値が50と25だったと思うので、これだと日本語は25文字しか表示されません。適当な値に設定しなおしてください。
Joomla!のサイトマップはXmapというエクステンションを利用して作っていたのですが、便利だけどクールじゃないですよね。

というわけで、クールなサイトマップを探してたら見つけました!

「Joom!FreeMind」
CIOへの道のり-Joom!FreeMind


クールじゃんか


でもダウンロードしようとしたら「サーバーにありません」的な文章がでてきてすごいがっかりしょぼん


あ~ぁ・・・・・自分で作るか・・・・


FreeMindは大学で習ったことがあったんで、取っ付きやすかったです。マインドマップ作って、りんく張って、完成!!



ん・・・・??

あれ??  

どうやってWebに張り付けるの??

HTMLでエクスポートできるけど全く種類の違うものに変換されてしまう。
PDFとかjpegとかでもはきだせるけどマインドマップを見せたいわけじゃないんだよ。


調べました。
FreeMindFlashBrowserがあればできるんだって!

・・・・・・・・リンク切れてんじゃん!!!!!


さらによーく調べると、FreeMindの最新版だとFlashでエクスポートできるというわけで、FreeMindをアップデートしまして、無事望むものができました。

でもちょっと注意!!!

はきだされたHTMLを編集しましょう。

lang="en"をlang="ja"へ 二か所あります

charsetをcharset=utf-8へ

日本語がちゃんと表示されるようになりましたね音譜


サイトマップなんでリンクをクリックしてもらうんですが、デフォルトではリンク先が新たにブラウザを立ち上げて表示されてしまいます。

HTML内の

fo.addVariable("openUrl", "_blank");

という部分を_topとか_parentに変更しましょう。



大体良いんですが、なんかマインドマップが表示された時の位置がちょっと右にずれてる。たまに左上にずれてる時もある。

何これ?

解決できない。

他の人のFreeMindのFlashを見てもちょっと右にずれてるからどうしようもないのかな・・・。
わかる方がいたら教えてください。
1.動画のコメントで、長い文章を書くと途中までしか表示されない。

2.グループのトピックのコメントで、長い文章だと改行されずに横に長く表示される。


1の問題は、「すべて表示」というのがないのがおかしいのかなと思います。

2の問題は、枠内に表示させるようにすればいいんじゃないの!?と考えてます。

が、実はまだどちらも手をつけてません。

解決したら、コメントか記事を追加しておきます。
解決方法がわかる方がいらっしゃったら是非教えてください。




今やりたいのは、グループの動画をグループメンバーだけが閲覧できるという機能です。

新しいフレンドタイプを作って対応するのか、素直に同じグループに所属しているかどうかを検索してくるのか、いろなことを考えてまだ結局何もやってません。


今日はPHPの勉強をしてました。
実はPHP、MySQLの知識はそんなにありません。