問題タブ [yii2-advanced-app]

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 に答える
2247 参照

namespaces - Codeception (Yii2) で名前空間が機能しない

Yii2 で Codeception を使用して受け入れテストを行っていますが、名前空間がこれらのテストで機能していないため、モデルにアクセスする方法がありません。

私はこれをtests/_bootstrap.phpに持っています

これは私のコンソール/構成/メインにあります

そして、これは志望者テストの1つです:

テストを実行すると、次のエラーが発生します。

PHP 致命的なエラー: 21 行目の /var/www/project/tests/acceptance/ListUserCest.php にクラス 'backend\models\User' が見つかりません エラー: クラス 'backend\models\User' が見つかりません

助けてください、知っていることはすべて試しました

編集

これで (vitalik_74 が推奨する行を追加した後)、たとえば \Yii メソッドをテストに使用できますが、Web アプリケーションの構成はなく、コンソールの構成のみを使用できます。つまり、まだ \backend\models\User を使用できず、Yii::$app->user ステータス (たとえば、ユーザーがログに記録されているかどうかを確認するため) にもアクセスできません。

User モデルは、tableName、rules、attributeLabels、および getProfile() などのいくつかのリレーショナル メソッドを備えた単なる一般的な ActiveRecord モデルです。それはテストからうまくいきます

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

php - yii2-google-map-library を使用してデータベースからポリゴンを表示


を使用してデータベースからポリゴンを表示しようとすると問題が発生しますyii2-google-maps-library。私はtb_wilayahフィールド(id, label, lat, lng)を持つテーブルを持っていて、次のコードでマップ上にポリゴンを表示しようとしています:

残念ながら、エラーメッセージが表示されましArgument 1 passed to dosamigos\google\maps\overlays\PolygonOptions::addCoord() must be an instance of dosamigos\google\maps\LatLng, array given, called in C:\xampp\htdocs\project\vendor\2amigos\yii2-google-maps-library\overlays\PolygonOptions.php on line 120 and defined

た。誰か助けてもらえますか? または、誰かがチュートリアルを提供できれば、それは本当に助けになります。

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

yii2 - Yii2 アクティブ レコード クエリは、テーブル属性の代わりに宣言された変数を返します

モデルからレコードを取得すると、テーブルのフィールドではなく、宣言した変数が返されるのはなぜですか。

これは私のコントローラー機能です

これが私のモデルの一部です。

そして、ここにサンプル出力があります..

言うことができるように、これは州、地域、およびテーブルの属性ではなく、宣言された変数である city_code を返します。si_titleのように取得したい。

ここに画像の説明を入力

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

twitter-bootstrap - Yii2 Advanced - ビューを拡張してカスタム変数を追加

私がしようとしていることが、これを処理するための最良の Yii ソリューションであるかどうかはわかりません。だから私はより良い解決策を受け入れます。それを行うための最もYiiの方法は何でも。

ログインしているユーザーにのみ表示する必要がある左側のサイドバーがあります。それは問題ではありません。「Yii::$app->user->isGuest」をチェックして何かを表示する方法を知っています。

特定のページでは、ログインしている場合でも、このサイドバーは必要ありません。たとえば、「お問い合わせ」ページに左側のサイドバーを配置する必要はありません。サイドバーがあるかどうかは本当に気にしませんが、Bootstrap3 の列から外れています。

ページの中央に配置され、幅 4 列で見栄えがします。

ただし、私の Yii main.php (frontend/views/layouts/main.php) には、ユーザーがログインしているかどうかに応じて、2 つの別々のレイアウトがあります。

このコードは、ゲストの場合は全幅のページを表示し、ユーザーがログインしている場合はサイドバーを表示します。

「お問い合わせ」ページのようなページで起こっていることは、サイドバーが原因でフォームがつぶれてしまうことです。正しい内容は 'col-md-9' で、コンタクト フォーム ('col-lg-4' がある) をその中に入れると、9 列の中で 4 だけを占めてしまい、結果として圧縮されてしまいます。

このページ (連絡先ページ) は一般に公開されている必要があるため (つまり、ユーザーがログインできない場合、サポートに連絡できず、問題が発生する可能性があります)、両方のケースが発生する可能性があります。ログインしているメンバーが見ると、フォームがくしゃくしゃになったり、ゲストが見たりすることがあります。


私のアプローチは、変数 $showSidebar を追加することでした。次に、contact.php に $showSidebar = false を設定します。変数のデフォルト アクションは isGuest によって設定され、ページはそれをオーバーライドして、ページごとにサイドバーをオフにすることができます。

isGuest が代替の div またはコードを表示するかどうかをチェックする大量の if チェックは本当にしたくないので、これが最善のアプローチだと思います。

ビューを拡張して独自の変数を追加するにはどうすればよいですか? ファイルは vendor/yiisoft/yii2/web/view にあると思います..

これは Yii2 の高度なテンプレートです。

PS:私は自分の問題に対するより良い解決策を受け入れています。私はハックしたくありませんが、それを行うための最も適切な Yii の方法です。

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

php - Phpstorm と Yii2 の高度なテンプレート

Yii2 の高度なテンプレートでPhpStormを使用しています。私はすべての Yii2 ドキュメントを見てきました。すべて順調。Yii2 と PhpStorm の統合 (どちらも私のお気に入り) について、グーグルで調べても解決策が見つからないという質問がいくつかあります。おそらく多くの開発者が同じ質問をしているので、ここで質問したいと思います:


  1. composer を使用してcodeceptionをグローバルにインストールし、codeceptionを使用して高度なテンプレートに含まれるすべてのテストをビルドして実行しました。全て大丈夫。しかし、PhpStorm で新しい (フロントエンド、バックエンド、...) テストを書きたい場合、コードセプションを使用するためのオートコンプリートはありません。また、ファイルなどの既存のデフォルト テストを PhpStorm で開くSignupCest.phpと、名前空間が定義されておらず、PhpStorm はサブジェクト クラスで参照されているメソッドを見つけることができません!

提案や解決策はありますか?

更新しました

  1. Xdebug、PhpStorm、および Chrome/Firefox を使用して yii2 プロジェクトをデバッグする方法に関する完全なチュートリアルを手伝ってくれる人はいますか? 純粋な Php プロジェクト/スクリプトのデバッグに関するチュートリアルはいくつかありますが、yii2 では見つかりませんでした。
0 投票する
1 に答える
2733 参照

yii2-advanced-app - YII 2 : オプション select2 kartik ウィジェット内に新しい属性を追加する

私はyii 2を使用したスクリプトを持っています:

および html の結果:

そして私の質問、オプション内に属性「データ型」を追加する方法は?、私はこれを好きにしたい:

どうやって?

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

php - yii2 で複数のモデルのフォームを構築する方法は?

複数のモデル インスタンスを使用して一度に送信するフォームを作成しようとしています(表形式の入力) 。wikiでこの記事を読みましyiiframeworkたが、プロパティと属性を含むカスタム モデルを作成しようとしています。複数のモデルがこのモデルを私のフォームで使用します。

[例]

モデル1

モレル2