concrete5はサイト内検索用にサイトをインデックス化する機能を持っています。
また、concrete5のインストールディレクトリにsitemap.xmlをつくる機能もあります。
サイトが成長するにつれ、この2つはとても重要な機能になります。
でも、この2つの機能はデフォルトでは手動でしか動かせません。
自動で実行させるためにはサーバのcronという機能を利用します。
coreserverでは管理メニューの「CRONジョブ」で自動実行させたいシェルスクリプトの指定と自動実行させる時間の間隔を設定することができます。
シェルスクリプトには次のように書きます。
#!/bin/sh
/usr/bin/wget --spider http://example.com/index.php/tools/required/jobs?auth=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
exit
http://example.com/index.php/tools/required/jobs?auth=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
の部分はconcrete5の管理画面の「メンテナンス」を開いた最下部にある「もしもこのジョブをバックグランドで実行されたいのであれば、Cronなどを使い、定期的、自動的に下記のリンクにアクセス出来るようにして下さい:」のURLを入れます。
このシェルスクリプトを「c5jobs.sh」などと名前をつけ、サーバにアップロードして実行権限を与えます。
coreserverのCRONジョブ設定でアップロードしたシェルスクリプトの指定と時間の間隔を設定すると自動で検索用索引作成とサイトマップファイル作成が行われるようになります。
はじめはphpでURLにアクセスさせてみたのですが、ファイルが見つからないエラーになってしまったのでちょっと調べました。
lynxとかも試しましたが、アクセスするたびにサーバからの反応が返されたりしてちょっと気持ち悪かったのでなんとかならないかなーと思ってたらwgetのことを思い出しました。
最近はunixコマンドから少し離れていたのでwgetのことなどすっかり忘れていました・・・。
でもwgetだとアクセスしたファイルをダウンロードしてしまうので、オプションとか調べたら「–spider」などというオプションがあって驚きました。
このオプションのおかげでごみファイルなども残すことなく自動化できるようになりました。
タグ:
cms,
concrete5,
coreserver,
Tips
concrete5にはユーザ項目を追加する機能があります。
ユーザ登録の時などに入力させ、ユーザ情報の一部として利用することができます。
ユーザ項目の追加は管理画面の「ユーザ・グループ管理」から「ユーザ項目」に入ると行うことができます。
![ユーザ項目の追加[concrete5] ユーザ項目の追加[concrete5]](http://blog.snufkins.net/wp-content/uploads/2009/07/2009-07-16_133153-300x138.png)
例えば “gender” というハンドルの項目を作った場合、その項目を扱うには次のようにするようです。
$u = new User;
$ui = UserInfo::getByID( $u->uID );
$gender = $ui->getUserGender();
ミソは
$ui->getUserGender();
で、
“getUser” + 取得したいハンドル
というように呼び出します。
ちなみに、
- getUserID()
- getUserName()
- getUserPassword()
- getUserEmail()
- getUserDateAdded()
- getUserStartDate()
- getUserEndDate()
- getUserInfoList()
はシステムによって予約済みのようですので、ハンドルには
- id
- name
- password
- email
- date_added
- start_date
- end_date
- info_list
などは使わない方が無難みたい。(使えなかったりややこしかったりするので)
参考
http://www.concrete5.org/help/building_with_concrete5/developers/mvc/scripting_common_concrete5_tasks
タグ:
cms,
concrete5,
Tips
/themes
に
/concrete/themes/core/concrete.php
をコピー。
つまり
/themes/core/concrete.php
ができあがる。
それをいじるとhtmlのヘッダやページ左上部のconcrete5のロゴ画像などを変更できる。
中身は
/concrete/single_pages/login.php
を
/single_pages
にコピーして編集。
タグ:
cms,
concrete5,
Tips
前から気になっていたconcrete5。
mynets の usagi projectがついにconcrete5日本語版 5.3.0を公開したので早速coreserverにインストールしてみました。
「XREA、CORESERVERへのインストールガイド」というページがあり、指示に従って進めましたが、「6.インストール情報の入力」でつまずきました。
インストールディレクトリにアクセスすると、session関連で「許可がありません」というエラーでした。
tmpディレクトリにアクセスできないという内容だったので、「.htaccess」に次の一文を追加して、tmpディレクトリを作成。書き込み権限を与えて再度アクセスすると、問題なくインストールできました。
php_value session.save_path /virtual/MYID/tmp/
これで心おきなく試せます。
タグ:
cms,
concrete5,
coreserver,
Tips
最近のコメント