[EE]タイトルの長さの上限を変更する

expressionEngineのweblogでは、タイトルの長さ上限が100byteとなっています。
This field contains the title of your weblog entry. Titles can be up to 100 characters in length.
Publish Page - ExpressionEngine Documentation

実際には、日本語35文字を超えたあたりからおかしなことになるようです。
WS000.JPG

英語圏では十分なのでしょうけど、一文字に2byte3byteを消費するマルチバイト圏を考えると、ちょっと微妙な数字です。
実際、movabletypeでは255byte確保していますし、こんなところケチったって仕方なかろうと思うのですけど。

EEフォーラムを探してみると、同じことを考えている人がいました。
Change title maxlength | ExpressionEngine Community Forums

詳しいやり方を教えて頂いたので、ここでご紹介しておきます。
Be Like Water : Changing the Title Maxlength in Expression Engine

ExpressionEngineのテーブル定義を変更します。

[daisuke@snares /var/www/root/html] $ mysql -u expressionengine -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 193 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use expressionengine
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;
+----------------------------+
| Tables_in_expressionengine |
+----------------------------+
| exp_actions |
:
| exp_weblog_member_groups |
| exp_weblog_titles |
| exp_weblogs |
+----------------------------+
68 rows in set (0.00 sec)

mysql> show create table exp_weblog_titles;
:
`ip_address` varchar(16) NOT NULL default '',
`title` varchar(100) NOT NULL default '',
`url_title` varchar(75) NOT NULL default '',
:
1 row in set (0.00 sec)

mysql> alter table exp_weblog_titles modify title varchar(255);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0

mysql> show create table exp_weblog_titles;
:
`ip_address` varchar(16) NOT NULL default '',
`title` varchar(255) default NULL,
`url_title` varchar(75) NOT NULL default '',
:

mysql> exit
Bye
[daisuke@snares /var/www/root/html] $
で、ソースコード側も変更。
[daisuke@snares /var/www/root/html] $ emacs ee/cp/cp.publish.php
[daisuke@snares /var/www/root/html] $ diff ee/cp/cp.publish.php ee/cp/cp.publish.php~
670c670
< $DSP->input_text('title', $title, '20', '256', 'input', '100%', ($which == 'new' OR $which == 'preview') ? 'onkeyup="liveUrlTitle();"' : '', $convert_ascii)
---
> $DSP->input_text('title', $title, '20', '100', 'input', '100%', ($which == 'new' OR $which == 'preview') ? 'onkeyup="liveUrlTitle();"' : '', $convert_ascii)
以上。とくに再起動とか不要です。
WS002.JPG

動作中のシステムを変更しても大丈夫(変更後は256byteまでの長さが使えるようになります)が、非公式なやり方ですので、どうしても必要なときだけにするのがよいかと思います。

それにしても。

For example, one of my client wanted to write an article in Lao, but it turns out that they needed more than 100 characters for their title.

世界にはラオス語のブログを作る需要なんて存在するんですねぇ。

カテゴリ:

トラックバック(0)

このブログ記事を参照しているブログ一覧: [EE]タイトルの長さの上限を変更する

このブログ記事に対するトラックバックURL: http://mogya.com/mt/mt-tb.cgi/528

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、 もぎゃが 2008年3月 7日 11:48に書いたブログ記事です。

ひとつ前のブログ記事は「 ExpressionEngineのアップグレード&アップデート 」です。

次のブログ記事は「 [EE]カテゴリの扱いに関するまとめ 」です。

最近のコンテンツは インデックスページ で見られます。過去に書かれたものは アーカイブのページ で見られます。

Powered by
Movable Type