問題タブ [cakephp-3.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1271 参照

cakephp - シンプルな CakePHP プラグインを作成できません

CakePHP 3.1.4 用のプラグインを作成したいと思います。ドキュメントは簡単ですが、例は機能しません ( http://book.cakephp.org/3.0/en/plugins.html#creating-your-own-plugins )

手順は次のとおりです。

データベースを作成します。データベースに接続します。テーブル「連絡先」を作成します。ディレクトリ内を移動し、次を実行します。

コントローラーを作成します。

オートローダーを再生成します。

次の行を /config/bootstrap.php ファイルに追加します。

しかし今、ドキュメントは言う

「これまでに行ったことにアクセスしたい場合は、/contact-manager/contacts にアクセスしてください。連絡先モデルがまだ定義されていないため、「モデルが見つかりません」というエラーが表示されるはずです。

しかし、これはうまくいきません。代わりに、エラーが発生します。

コントローラーがありません。Cake\Routing\Exception\MissingControllerException. Cake\Routing\Dispatcher->dispatch ROOT/webroot/index.php、37 行目 エラー: ContactManagerController が見つかりませんでした。エラー: 以下のファイルに ContactManagerController クラスを作成します: src/Controller/ContactManagerController.php

これは、プラグインをロードできなかったことを意味します。それ以外の場合、これは示唆されません。「インクルード」の下で DebugKit を開くと、プラグインがプラグイン配列にありません。

composer.json ファイルを確認したところ、両方のプラグインが正しくリストされています。ベイク コマンドはエラーなしで実行されました。上記の手順を、名前の異なる複数の新しいプロジェクトで試しました。

ここで何が問題なのですか?どうもありがとうございました。

0 投票する
3 に答える
4229 参照

cakephp - ユーザーがログインしていないときに、AJAX と CakePHP 3 を使用して CSRF トークンを確認するにはどうすればよいですか?

だから私は自分のサイトを公開し、人々が常に親切であるとは限らない公共の領域に足を踏み入れています. CSRF について学び始めたばかりで、cakephp 3 サイトを公開するときに必要なものであることがわかりました。ここで見た通り!

サイトに csrf コンポーネントとセキュリティ コンポーネントを追加しましたが、大きな問題が 1 つあります。現在、ユーザーがサインアップしたいときにサインアップできません。ストライプのカスタムフォームを使用して支払いを送信しますが、ajax を使用するユーザーをデータベースに追加します。ユーザーが最初に追加され、次に支払いが処理され、注文もデータベースに保存されます。

ストライプのドキュメントによると、送信ボタンをクリックした後、非表示の値にトークンをフォームに追加しましたが、新しいセキュリティがこれを許可していないことに気付きました。

私はajaxを使用して投稿データをユーザーコントローラーに送信し、送信時にフォーム入力を追加しているため、

csrf トークンをチェックして、関連するアクションのセキュリティを無効にせずにセキュリティ リークがないことを確認するにはどうすればよいですか?

Cakephp 3でこれを行うための例が不足しているように見えるので、これがどのように行われるかの例は非常に高く評価されます.cakephp 3の自動魔法がフォームにトークンを追加し、クッキー。どのように/どこで/何を確認すればよいかわかりません。

0 投票する
1 に答える
763 参照

cakephp - CakePHP 3: カスタムモデルのコールバックを作成するには?

カスタム モデルのコールバックを作成するには、適切な出発点が必要です。アプリケーションの特定の部分では、テーブルが大きいため、デフォルトの CakePHPライフサイクル コールバック(beforeSave、afterSave、..) を使用できません。コントローラーでは、ユーザーの 4 ステップ登録など、部分的な更新レコードを含むメソッドをさらに作成します。

新しいユーザー アカウントが作成される前にのみ使用されるbeforeRegisterなどのカスタム モデル コールバックを作成する方法は?

0 投票する
1 に答える
187 参照

validation - 検証ルールを CakePHP 2.x から 3.x に変換するにはどうすればよいですか?

Cakephp コードを 2.6.7 から 3.1.5 にアップグレードしています。古いバージョンのコードは正常に動作します:

今、それをcakephpの最新バージョンに変換したいと思います。例: 3.1.5 notempty ルールの解決策を見つけました。しかし、コードの変換とは何ですか。または、古いバージョンのプロジェクトのバージョン アップグレードの自動プロセスはありますか?

0 投票する
2 に答える
4489 参照

cakephp - コントローラーからCakePHP 3.xの要素に変数を送信し、別のビューで要素を使用するときに変数を保持する方法は?

管理者がスライダーのコンテンツをデータベースに保存できるようにするアプリケーションを作成し、ホームページにスライダーを含めたいと考えています。スライドのコンテンツをスライダービューに送信するだけのスライダー機能を備えたスライドコントローラーがあります。

そのコントローラー関数は次のとおりです。

その関数のビューには、次のものしかありません。

次に、slider という要素ファイルを作成し、そこでスライドを処理します。URL /slides/slider に移動すると、スライダーは機能していますが、ルートまたはホームページに移動すると、スライダーは空です。要素に $slides 変数を保持していないようです。

ホームページ:

では、変数を保持したり、ホームページにもスライダー ビューを表示できるようにするにはどうすればよいでしょうか。

0 投票する
1 に答える
726 参照

cakephp - プラグインの CakePHP 3.0 デフォルトテーマ

全て、

私は次のような構造を持っています:

  • 主な用途
    • カスタムテーマプラグイン
    • AppController およびその他のコントローラーを備えたプラグイン

メイン アプリケーションにカスタム テーマ プラグインを使用していますが、2 番目のプラグインはデフォルトで標準の CakePHP テーマを使用しています。テーマ自体のプラグイン ファイルを変更せずに、使用する必要があるテーマを指定する方法はありますか?

事前にご入力いただきありがとうございます。

回答は、以下の選択された回答を読んだ後に発見されました。答えは次のとおりでした。

次のようにする必要がありました。

また、私のプラグインの AppController は Controller を拡張していたので、

0 投票する
1 に答える
382 参照

cakephp - CakePHP 3: 最後にスラッシュのないプラグインルーティング?

管理プラグイン / PagesController メソッド:

  • 索引
  • 追加
  • ..

デフォルトの表示方法を削除しました。

問題、mysite.com/admin/webroot/pages にリダイレクトしてエラー メッセージを取得しようとすると、最後に mysite.com/admin/pages にスラッシュがないと URL にアクセスできません

エラー: WebrootController が見つかりませんでした。

他のすべてのコントローラーでは、末尾にスラッシュのない URL が機能します。

管理プラグイン/構成のルーター: