クラフトの投稿データを循環させる安全な方法はありますか?

クラフトの投稿データを循環させる安全な方法はありますか? ベストアンサー 私はあなたが望むことをするのは良い習慣とは考えていません。なぜなら、このようなものはデフォルトでは不可能であり、すべてのパラメータを得るためのすべての関数がプライベートである理由です。 より良い方法は、配列内にパラメータを送信してこれを取得するか、すべての可能なパラメータの配列を作成してループすることです $secureParameters = [‘A’, ‘B’, ‘C’]; $request = Craft::$app->getRequest(); $values = []; foreach($secureParameters as $key){ $values[$key] = $request->getBodyParam($key); } If you really don’t care about receiving unexpected parameters and raising exceptions you can also loop your $_POST directly foreach($_POST as $key => $v){ and fetch the $request->getBodyParam($key) at least

もっと読む

既存のマトリックスフィールドデータを取得してプラグインに設定する

既存のマトリックスフィールドデータを取得してプラグインに設定する ベストアンサー マトリックスのブロックも同じ要素なので あなたのフォームは {% set movies = entry.movies.all() %} {% for movie in movies %} <form> <input type=”hidden” value=”plugin/controller/function” name=”action”> {{ csrfInput() }} <input type=”hidden” value=”{{ movie.id }}” name=”id”> <input type=”submit” value=”Vote this movie”> </form> {% endfor %} あなたのコントローラ public function actionSave(){ $id = Craft::$app->getRequest()->getRequiredBodyParam(‘id’); $matrixBlock = Craft::$app->getMatrix()->getBlockById($id); if($matrixBlock === null){ throw new ElementNotFoundException(‘Could not find Block with ID ‘ . $id); } $matrixBlock->setFieldValue(‘votes’, $matrixBlock->getFieldValue(‘votes’)+1); if(!Craft::$app->getElements()->saveElement($matrixBlock)){ //handle an error } return $this->redirectToPostedUrl(); }

もっと読む

クラフト2:クラフトコマースオーダーの管理ページのフックはありますか?

クラフト2:クラフトコマースオーダーの管理ページのフックはありますか? ベストアンサー さて、私は解決策を得ました。私のプラグインの init 関数で、私は次のフックを実行しました: craft()->templates->hook(‘cp.commerce.order.edit.main-pane’, function (&$context) { … } より洗練されたソリューションがあれば、撮影してください。 乾杯。

もっと読む

カスタムプラグインでベンダーを要求する

カスタムプラグインでベンダーを要求する ベストアンサー コンポーザーファイルに必要に応じてライブラリをインクルードすると、Craftは自動的にパッケージをダウンロードし、プラグインディレクトリではなくグローバルな vendor ディレクトリにインストールします(両方とも vendor フォルダ)。 あなたはそれを含める必要はなく、同じものを必要とする特定の他のプラグインを気にする必要はありません。 This process is done while running composer install >>yourplugin<< or composer update so everytime you make a Craft update it will search for new required libraries in your plugin but it won’t do it during the installation of your plugin since every library should already exist – unless you add the dependency after your composer action -> composer update will solve it

もっと読む

`template-> renderObjectTemplate`メソッドの特殊文字

`template-> renderObjectTemplate`メソッドの特殊文字 ベストアンサー 解決されました(ちょっと) – CSSは電子メールテンプレートの renderObjectTemplate メソッドに渡されていました。これは、Twigが {および} 文字をオブジェクトとして処理しようとしていることを意味していました。 今のところCSSを取り除き、これらの文字を壊さずにサービスに渡すことができる別の方法があるかどうかを確認します。 CraftCMS Slackの@robinに感謝し、問題の特定とデバッグを支援します。

もっと読む