Joomler!.net - Decided on Joomla!

Wiki or Wordpress? No it is JContentPlus.

 

Archives

Blog

Demo

Home » Blog » joomla.php
1 votes
Written by:Joomler! 8615 hits Sunday, 06 July 2008 16:55

ページのソースを表示してdescription部分を見るとそのページで開いている最後(一番下)の記事のdescriptionが、最初に表示される。これは、Joomla!のヘッドタグに追加するメソッドが後からの分を登録済みのものの前に追加するように書かれているからです。

そこで変更してみました。

Root/includes/joomla.php

$this->_head['meta'][$i][1] = $content . ', ' . $this->_head['meta'][$i][1];

$this->_head['meta'][$i][1] =  $this->_head['meta'][$i][1]. ', '. $content;

として後から追加されるものは登録済みのものの後に追加するようにしてみました。これで最新のものが先に来るはずです。というより並び順の最初のものと言った方が良いのかな。

と、Joomla!1.5はどうかと気になったので確認してみましたが、記事単体を表示した状態でないとdescriptionに反映されない? ブログレイアウトのように複数の記事の場合は、サイトのdescriptionのみが表示されるようですね。

 
2 votes
Written by:Joomler! 13427 hits Friday, 16 May 2008 16:13

「日本語で9文字以上のユーザー名でユーザー登録すると文字化けする。」と問い合わせがあったので少しHackしてみました。

これは、Joomla!1.0.xの場合です。

これには2つの原因があります。データベースの文字数制限と、ユーザー登録時の文字数制限です。

まず、phpMyAdminでデータベースを開きます。

  1. jos_usersのテーブルを開き、テーブルの構造を表示させます。
  2. フィールド欄のusename行の操作欄に鉛筆マークの様な画像(変更)が見えますのでそれをクリックします。
  3. 長さ/値の値を25から51(今回、ここでは倍の文字数にしました。51にすることで17文字のユーザー名が登録できます。)に変更して保存します。

次にRoot/includes/joomla.phpを開き以下の行を変更します。(2826行目付近)

// check that username is not greater than 25 characters
$username = $this->username;
if ( strlen($username) > 25 ) {
    $this->username = substr( $username, 0, 25 );
}

の25の部分をデータベースと同様に51に変更します。

// check that username is not greater than 25 characters
$username = $this->username;
if ( strlen($username) > 51 ) {
    $this->username = substr( $username, 0, 51 );
}

以上で日本語17文字のユーザー名まで登録できるようになりました。

今回は、51としましたがお好みで3の倍数になるように変更されても良いのではないでしょうか。

 
0 votes
Written by:Joomler! 10157 hits Saturday, 22 December 2007 16:52

そういえば、記事の日時がローカルテストサーバーのJoomla!1.0.13でいつも文字化けしていたことを放置していました。

2007/12/07 Friday 08:01:00 ???? (?W????)

こういうの見たことありませんか?

以下を変更してみました。
これは、Windowsサーバーでは発生するようです。プラットホーム依存ぽいです。Ubuntuでは、

2007/12/07 金曜日 08:01:00 JST

などと表示され、正常です。

ROOT/includes/joomla.php

のように変更してみました。

すると

2007/12/07 Friday 08:01:00 東京 (標準時)

に変わりました。あれれれれこれって・・・はじめて見る気がするのは私だけでしょうか(いつも表示させていないからか?)・・・

SJISの部分や、行番号(変更したりで)は、環境により異なるかもしれません。

また、表示の仕方を変更したいときや、表示するものを変更したい場合は、

ROOT/language/japanese.php

をたとえば、

のようにすれば

2007/12/07 Friday

となります。書き方は、http://jp.php.net/strftimeのパラメータ項を参照してください。

文字化けな方は、お試しあれ

 
0 votes
Written by:Joomler! 13921 hits Sunday, 23 September 2007 08:21
phpDesigner 2007(現在バージョン5.5.2)を使用していてFile Encodingで躓きました。

 phpDesignerは、Zendで動きが鈍い時に使用したりしていますが、先日joomla.phpを開いて書き加えたものをアンドゥして上書き保存したら・・・あらあら、joomla.php内の日本語全部文字化け。一般設定は、ちゃんとUTF-8にしてあるのに・・・。今回は何も変更していないので元ファイルを上書きして解決ですが、そのままアップロードしてたらと思うと・・・。

 どうもファイルを読み込みするときに最初は自動判定しているようです。前からそうだったかと思い返しましたが、以前のバージョンでは感じたことがなかったような気がします。joomla.phpのように何千行もあるファイルでしかも日本語がずっと後にあるようなファイルは、全部ANSIで読み込まれるようです。

 対策:joomla.phpの最初のコメントアウトされている部分に日本語で何かを書き加える。これで、ただしくUTF-8で読み込まれます。ただ、utf-8って書いてあるxmlファイルまでANSIなんですよね。日本語専用ならインストーラー(xmlファイル)に日本語いれますけど、だめですよね。xmlファイルだけは、ファイルを開いた後でエンコーディングを変更しています。

 
2 votes
Written by:Joomler! 15912 hits Thursday, 20 September 2007 18:54

他の文字コードの違うCMSを使っていたり、初めてCMSを使う方でJoomla!を使用するときエラーが出たり、動かないって困ったことはないでしょうか。私は、今でもエディタによってはデフォルトの保存フォーマットが、Shift-jisだったり、iso-8859-1だったり、へたをするとエディタの設定を間違えていてUTF-16だったりで「なぜ、動かないの?」と、たまに時間を無駄に過ごす時があります。

KanjiTranslator

 kanjitranslator.jpg文字コードでの文字化け。

  • 日本語のランゲージファイルが付属していてもインストールすると文字化けしたりしたら、一度これを使ってみてください。ドラッグドロップしたすべてのファイル(画像とかはもちろん無理でしなくても良い。)を指定した文字コードに変更してくれます。(Joomla!の場合は、UTF-8のBOM無し)かなり、スマートで、Great!!なソフトです。変換してしまうといけないファイルも中にはあるかもしれませんが。大抵、すべてドロップしちゃって様子をみて動けばOKみたいな感じで使っています。たまに、ダメなのもあります。その時は、それっぽいファイルのみドロップしてやり直しですね。

 文字数カットやワードラップによる文字化け...

 
<<<12>>>
1 / 2

JContentPlus for Joomla!1.5 powered by Joomler!.net

デル株式会社
joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.