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文字を超えたあたりからおかしなことになるようです。
英語圏では十分なのでしょうけど、一文字に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
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)
以上。とくに再起動とか不要です。
動作中のシステムを変更しても大丈夫(変更後は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.
世界にはラオス語のブログを作る需要なんて存在するんですねぇ。