固定ページのデータ量制限

naka999 > 固定ページのデータ量制限 @ 2018/1/18 10:57
固定ページの本編欄の登録で制限が掛かり登録出来ないでおります。

固定ページの本編欄のデータ量ですが
MySQL運用の場合(LongText型)なので4,294,967,295 byteだと思います。

Modelのvalidateの拝見すると
['rule' => ['maxByte', 64000],
となっているのは何か意図があるのでしょうか?

問題が無い様であれば制限を増やしたいと思うのですが
libフォルダー内なのでカスタマイズは避けたいと思っております。

手法をご指導戴けないでしょうか?


■ BaserCMSのバージョン:4.0.9
■ レンタルサーバー名:XAMPP(Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30)
■ スマートURLの利用: ON
■ 設置フォルダ:localhost/basercms/
■ 利用しているデータベース: MySQL
■ PHPスキル(自己評価): D


tommy6073 > Re: 固定ページのデータ量制限 @ 2018/1/19 13:28
こんにちはtommy6073です。

コアのカスタマイズを避けられたいということであれば、カスタマイズ箇所をプラグインとして導入するという手法があります。

参考リンク (3.x系の記事ですが4.x系でも基本は同じです):
プラグインの作り方|記事|basersマガジン - baserCMSクリエーターの為の情報サイト

今回の件では、naka999様がお気づきのように、Pageモデルのバリデーションを変更すれば良いので、
Page.beforeValidateイベントを上書きするカスタムModelEventListenerを用意し、
pageBeforeValidate()にて最大文字バイト数のバリデーションを上書きする処理を記述します。
そして、作ったクラスを含んだファイルとconfig.phpをプラグインとして追加して有効化すれば、
デフォルトの処理が上書きされ、最大文字バイト数を変更することが可能です。

ご参考としてプラグインとしてまとめたものを作成しましたので、添付しておきます。
modifyValidate.zip

そのまま使用される場合、config.phpを適宜編集し、
$Model->validate['contents'][1]['rule'][1]
に代入する値をお好みの値に変更してください。

ご参考ください!
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
27 人のユーザが現在オンラインです。 (27 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 27