管理者以外は移動出来ないblockを作りたい。

2011年1月20日 at 17:50

初めまして。
現在"登録ユーザーは編集は出来ても、移動出来ない"みたいなパーミッションを設定した
カスタムblockを作成したいと四苦八苦しております。

elements/block_controls.php
で パーミッションを見て編集のコントロールパネルを生成しているのは解ったのですが、
1.どのタイミングでパーミッションが設定されているのか。
2.どうすればパーミッションが上書き出来るのか。
が解りませんでした。(コアを読み切れていないだけとは思いますが...)

実際に移動だけを制限するには $p->canWrite() だけでは、
他にも影響が出てしまうので、パーミッションに他の値も追加し、移動をさせるjsもカスタムする必要が有るかとは思いますが、とりあえず上記の2点をご教授頂けますと幸いです。

Re: 管理者以外は移動出来ないblockを作りたい。

2011年1月20日 at 18:37
なるほど。

ケースバイケースですが、私であれば、違うアプローチを取ります。

テーマで、登録ユーザーのみのエリアを1つだけ指定し、そのエリア内のみを編集できるようにします。

エリアの権限で、新規ブロックを追加できないようにできますので、それでなんとなく対応できるかも・・・。

そして、公開権限を与えずに、保存だけしか出来ないようにするとか・・・。

しかし concrete5 は自由自在に移動できるために作られた CMS なので、制限するのには向きませんね・・・。
 

Re: Re: 管理者以外は移動出来ないblockを作りたい。

2011年1月20日 at 19:28
katz515さま
別のアイディアを出して頂きありがとうございます。
コア自体を改造するのは今後のアップデートを考えると、その度に色々手直しが出てくるだろうなぁと思いつつ試みていました。

個人的に、同じエリア内でしか移動が出来ないとか、移動不可とか、
そういったパーミッション設定が上級権限モードにあれば便利だろうなぁと感じています。

提案された様な視点を変えたやり方もスマートだなぁと思いました。
ゆくゆくはコアが理解できて思い通りに開発できればと考えております。精進しますっ!!