Yii Framework Forum: おすすめのエクステンション - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

おすすめのエクステンション 皆さんが使っている、または薦めたいエクステンションを紹介してください Rate Topic: -----

#1 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 30 March 2011 - 09:16 AM

皆さんが使っている、または薦めたいエクステンションを紹介してください
機能の概要や、使い方等の説明があれば、これ幸いです
0

#2 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 30 March 2011 - 11:03 AM

とりあえずextensionを探すにはこちら
2011-03-31現在では、423個ほどあるみたいです
ページの右側にはリリース順、評価順、コメントが多い順、DLが多い順などに並び変えることができ
カテゴリで自分が求めているものを絞り、選ぶことも可能です

自分はまだextensionを2つしか試していないですが、「yii-user」の紹介を少し

ユーザ登録およびユーザアカウントの管理をする拡張で、機能として

  • ユーザ名、またはメールアドレスでのログイン
  • ユーザ登録
  • アクティベーションアカウント (確認メール, 管理者かどうか)
  • パスワードの再設定 (ユーザのメールに回復キーを送信)
  • ユーザーのプロフィールページ
  • ユーザ管理
  • プロフィールフィールドの管理
  • プロフィールウィジェットの表示、編集およびデータの保存
  • 日付ウィジェット ( jQueryUI datepicker )
  • ファイルアップロードウィジェット
  • プロフィール関係のウィジェット
  • API

などがあります ( 日本語訳間違っている箇所あれば報告お願いします )

データベースには

  • tbl_profiles
  • tbl_profiles_fields
  • tbl_users

の3つを追加します
tbl_profiles_fieldsは、ユーザのプロフィールに関することを細かく設定するテーブルです
YiiのModelsのrules()内の設定とよく似ていて
typeは何か、lengthのmaxはminは、requiredにするか、エラーメッセージの内容はどうするか、など
その他、プロフィールの順番、プロフィール公開のレベルなどもここで設定しているようです
tbl_profiles, tbl_usersは定番のカラムが入っています
また、全体の設定は、modules/user/UserModule.phpから行えます

( ここから個人的な設定にやや傾きますので、興味のある方のみ読んでもらえたら幸いです :) )

( ※以下は、わかりにくかったため、2010-03-31に修正しています )

次のリストは日本語翻訳に関すること、その他注意事項です

  • messagesファイルにjaファイルを作成し日本語化する
  • controllers/RecoveryController.php || UserModule::tの2箇所をmessages/ja/user.phpに追加し日本語化
    • You have requested the password recovery site {site_name}.
    • You have requested the password recovery site {site_name}. To receive a new password, go to {activation_url}.

  • データベースのtbl_profiles_fieldsのtitleカラムの「Birthday」を「成年月日」に変更
  • models/UserLogin.php || authenticate()修正 || http://www.yiiframew...yii-user/#c2414
  • プロフィールフィールド管理時にはtableに対するcreate, alter, drop権限が必要

1.について
modules/user/messages/にjaファイルが用意されていないので
新しくjaファイルを作成し、日本語化していきます
( yii-userがまたバージョンアップされると、そのうちjaファイルもできるかと思います )

4.について
models/UserLogin.phpのauthenticate()修正に関しては
初期設定ではログイン時に
「ユーザ名、またはメールアドレス」と「パスワード」の2つでログイン処理をしますが
「ユーザ名、またはメールアドレス」を間違えると「ユーザ名、またはメールドレスが間違っています」
「パスワード」を間違えると「パスワードが間違っています」と表示されるので、セキュリティを考慮しての処置になります
また、その際に追加、変更する「ユーザ名、またはパスワードが間違っています」、「メールアドレス、またはパスワードが間違っています」の日本語メッセージをmodules/user/messages/jaに加えます

※追加
サンプルとして日本語ファイル置いておきます Attached File  user.php (8.82K)
Number of downloads: 4
modules/user/messages/にjaディレクトリを作成して、そこへ設置してみてください
UWerlBelongsTo.phpはそれぞれで設置してください
0

#3 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 31 March 2011 - 01:25 AM

yiidebugtb

プロジェクト開発段階で便利な拡張です。
ページの上部にあるシンプルで小さなツールバーを使用して
ベンチマーク、クエリログ、PHPの環境、アプリケーションに関する情報を得るのに役立ちます
設置が比較的簡単なので、試してみてください
0

#4 User is offline   mocapapa 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 428
  • Joined: 04-January 09
  • Location:Tokyo, JAPAN

Posted 31 March 2011 - 02:54 AM

View Postjamband, on 30 March 2011 - 11:03 AM, said:

とりあえずextensionを探すにはこちら
2011-03-31現在では、423個ほどあるみたいです
ページの右側にはリリース順、評価順、コメントが多い順、DLが多い順などに並び変えることができ
カテゴリで自分が求めているものを絞り、選ぶことも可能です

自分はまだextensionを2つしか試していないですが、「yii-user」の紹介を少し

ついでに動くまでのノウハウを書いて頂ければ幸いです。お勧めに従い設置してみましたが、

1. {{users}}でエラーとなる
2. これを直しても
The table "tbl_users" for active record class "User" cannot be found in the database.
というエラーが出る

ということですんなりは動きませんでした。モジュールが見るデータベースはmodules/user/dataの下に置くのでしょうか?
0

#5 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 31 March 2011 - 09:22 AM

一応の確認ですが、yii-userをDLするとトップディレクトリ名がmodulesですが、
これをprotected/extensions/に設置するのではなく、protected/に設置します

あと、protected/config/main.php内に「tablePrefix」の追加をします
'db'=>array(
    'connectionString' => 'mysql:host=localhost;dbname=sample',
    'emulatePrepare' => true,
    'tablePrefix' => 'tbl_', // これを追加してみて下さい
    'username' => 'testuser',
    'password' => 'testpass',
    'charset' => 'utf8',
),

また、ユーザの新規登録などをlocalhostで行う場合は
modules/UserModule.php内を変更する必要があります
public $sendActivationMail=false; // アクティベーションメールを送らないようにする
public $activeAfterRegister=true; // ユーザの新規登録後はstatusを自動的に1にする

この2つは2つで1つの役割みたいなので
一方をfalseにすると、もう一方をtrueにしないといけないと思います (逆も同じ)
statusは-1がBanned(禁止)、0がNot active(無効)、1がActive(有効)です。
初期設定のままだと

  • ユーザの新規登録を行う
  • メール送信
  • そのメール内のリンクをクリックする
  • ユーザがActiveになる
  • ログインできる

という流れですが、それを

  • ユーザの新規登録を行う
  • 自動的にActiveになる
  • ログインできる

という流れに、開発段階ではできるようになっているみたいです

Quote

1. {{users}}でエラーとなる
2. これを直しても

これを直さず、そのままにしてもう一度試してみてください
あと、sqliteでテストされていますか?自分はMySQLでテストしています
0

#6 User is offline   mocapapa 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 428
  • Joined: 04-January 09
  • Location:Tokyo, JAPAN

Posted 31 March 2011 - 10:03 PM

View Postjamband, on 31 March 2011 - 09:22 AM, said:

一応の確認ですが、yii-userをDLするとトップディレクトリ名がmodulesですが、
これをprotected/extensions/に設置するのではなく、protected/に設置します

はい、これはOKです。

Quote

あと、protected/config/main.php内に「tablePrefix」の追加をします
'db'=>array(
    'connectionString' => 'mysql:host=localhost;dbname=sample',
    'emulatePrepare' => true,
    'tablePrefix' => 'tbl_', // これを追加してみて下さい
    'username' => 'testuser',
    'password' => 'testpass',
    'charset' => 'utf8',
),


これがありませんでした。入れてトライしましたが、元に戻したところ以下のエラーが出ます。
The table "{{users}}" for active record class "User" cannot be found in the database.

Quote

これを直さず、そのままにしてもう一度試してみてください
あと、sqliteでテストされていますか?自分はMySQLでテストしています

他のユーザからのコメントでは直すように書かれてありました。またSQLiteでテストしています。
0

#7 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 01 April 2011 - 03:35 AM

yii-userをsqliteで試してみました ( 環境はWindowsXPのXAMPP )。以下順序です

  • yiic webappでアプリケーション作成
  • modulesディレクトリをprotected/に置く
  • protected/config/main.phpを編集
  • modules/user/data/schema.sqlite.sqlの中身をコピーし、実行
  • protected/views/layouts/main.phpにyii-user用のコードを挿入

3.の詳細
<?php
return array(
	'import'=>array(
		'application.models.*',
		'application.components.*',
		'application.modules.user.models.*', // 追加
		'application.modules.user.components.*', // 追加
	),
	'modules'=>array(
		'user',
	),
	'components'=>array(
		'user'=>array(
			'allowAutoLogin'=>true,
			'loginUrl' => array('/user/login'), // 追加
		),
		'db'=>array(
			'tablePrefix' => 'tbl_', // 追加
			'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/sample.db',
		),
        ),
);

4.の詳細
  • >sqlite3.exe D:\xampp\htdocs\sample\protected\data\sample.db
  • > // protected/modules/user/data/schema.sqlite.sqlの中身をコピーし、貼り付け

5.の詳細
<?php $this->widget('zii.widgets.CMenu',array(
	'items'=>array(
		array('label'=>'Home', 'url'=>array('/site/index')),
		array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
		array('label'=>'Contact', 'url'=>array('/site/contact')),
		array('url'=>Yii::app()->getModule('user')->loginUrl, 'label'=>Yii::app()->getModule('user')->t("Login"), 'visible'=>Yii::app()->user->isGuest),
		array('url'=>Yii::app()->getModule('user')->registrationUrl, 'label'=>Yii::app()->getModule('user')->t("Register"), 'visible'=>Yii::app()->user->isGuest),
		array('url'=>Yii::app()->getModule('user')->profileUrl, 'label'=>Yii::app()->getModule('user')->t("Profile"), 'visible'=>!Yii::app()->user->isGuest),
		array('url'=>Yii::app()->getModule('user')->logoutUrl, 'label'=>Yii::app()->getModule('user')->t("Logout").' ('.Yii::app()->user->name.')', 'visible'=>!Yii::app()->user->isGuest),
	),
)); ?>

この流れで問題なくいけました
もしかすると、Yiiのバージョンの問題かもしれません ( yiii-userはYii 1.1以上で動作 )
0

#8 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 07 April 2011 - 11:04 AM

image - 画像のサムネイルなんかを簡単に作れるextension。使い方もとてもシンプル!便利!
0

#9 User is offline   aoyagikouhei 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 22-June 11

Posted 22 June 2011 - 05:33 PM

MongoDBに書き出すログのエクステンションを作ってみました。
ttp://aoyagikouhei.blog8.fc2.com/blog-entry-174.html

最初の投稿なのでリンクが含められず、先頭のhを抜かしています。
0

#10 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 25 June 2011 - 03:56 AM

リンクは :) ←このマークの隣のアイコンから貼れます
また、こちらの「Create extension」から
自作したエクステンションをYiiユーザに向けて公開することもできます

話は変わりますが
最近公開されたyii-debug-toolbarがとても使いやすいです
protected/extensions下に設置し、以下のコードをconfig/main.phpに足すだけです。是非!
'db'=>array(
	...
	'enableProfiling'=>true,
	'enableParamLogging'=>true,
),
'log'=>array(
	'class'=>'CLogRouter',
	'routes'=>array(
		array(
			'class'=>'ext.yii-debug-toolbar.YiiDebugToolbarRoute',
		),
	),
),

0

#11 User is offline   aoyagikouhei 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 22-June 11

Posted 27 June 2011 - 05:02 PM

リンクボタンを試したんですが、最初の投稿のため使えないそうです。スパム対策か何かなんでしょう。
同様の理由でエクステンションの公開も制限されています。
しばらく、フォーラムに書き込んで修行しろみたいなこと言われました。
0

#12 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 28 June 2011 - 02:18 AM

スパム対策みたいです Guidelines for posting this forum

「このフォーラムのスパム活動を減らすために、以下の制限が適用されることに注意してください」とのことです

  • 新しくアカウントを登録した場合、最初の投稿まで10分待たないといけない
  • 新しくアカウントを登録した場合、12時間の間に、最大2件までしか投稿ができない
  • 投稿が3件未満のアカウントは、他のメンバーのプロフィールページに、コメントすることはできない
  • 新しい記事を作成する際に、投稿が3件未満のアカウントは、スパムフィルタのチェック対象となる
    • スパム用語が含まれている場合、新しい投稿を拒否される
    • 外部リンクが含まれている場合、新しいポストを拒否される

1日1件投稿して、3日で条件満たされる感じですかね?
少し前まではなかったと思いますが、より健全なフォーラムになることはありがたいです
0

#13 User is offline   aoyagikouhei 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 22-June 11

Posted 05 July 2011 - 12:44 AM

セッションの情報をMongoDBに保存するエクステンションを作成しました。
Yiiフレームワーク用MongoDBセッション
0

#14 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 29 September 2011 - 04:10 PM

最近使ってよかったものです
dbprofiler http://www.yiiframew...ion/dbprofiler/
bootstrap http://www.yiiframew...sion/bootstrap/

自分のブログに簡単なやり方も載っけておきました。興味がある方は是非どうぞ
Yii dbprofilerを使ってみた http://livejamdb.blo...dbprofiler.html
Yii bootstrapを使ってみた http://livejamdb.blo...-bootstrap.html
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users