問題タブ [yii]
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.
php - Yii で、オブジェクトの配列をループするフォームを作成するにはどうすればよいですか?
テーブルに表示されたオブジェクトのリストから値を編集する Yii ActiveForm を作成しようとしています。
関連するクラス:
私の見解:
テキスト フィールドがレンダリングされ、Yii は文句を言いませんが、適切な値が含まれていません。
これを機能させる方法はありますか、またはフォーム内のオブジェクトの配列を反復処理するためのより良いアプローチはありますか?
javascript - Yii で JavaScript を使用する (XWF/SWF チャート)
Yii で XML/SWF チャートを読み込もうとしていますが、いくつか問題があります。私が知る限り、問題は Yii がヘッダーにスクリプト タグをロードする順序にあるようです。
これは、作業中の test.php スクリプト (マイナス Yii) によって生成されたヘッダーから得られたソースの外観です。
今、私はこのコードを使って Yii に同じことをさせようとしています。
p>そして、これは私が得ているものです
p>問題は、AC_RunActiveContent.js をロードする行の配置にあるようです。テストスクリプトの他の変数の上に移動すると、テストスクリプトが壊れます。私が望む順序で Yii にコマンドを強制的に書く方法はありますか?
2010 年 8 月 23 日更新 - 解決済み!!!
Gray Teardrop の提案により、これを機能させることができました。これに数日間苦労したので、他の人のために完全な解決策を投稿すると思いました。
まず、XML/SWF チャートを にインストールしました。protected/vendors/Maani
show.php (チャートを含むビュー)
p>と の相対パス情報が必要src
であることに注意してください。FlashVars
javascript - カラーボックス(ライブを使用)がjQuery ajax呼び出し後に再バインドしない
ajax経由でロードしている要素のリストがあります(jQueryの.load()を使用)。これらの各要素の横には (編集) リンクがあり、小さな編集フォームを (カラーボックスを使用して) ライトボックス化します。ライトボックスが閉じられたら、onClosed コールバックを使用して ajax リストをリロードし、編集中に加えられた変更を表示します。
カラーボックスの呼び出しは次のようになります。
私のリストは次のようになります。
colorboxのソース コードを調べたところ、それがバインドに使用jquery live()
されていることがわかりました。ここにあります:
上記のように、カラーボックスが機能する方法は、「cboxElement」という名前で作成されるクラスである「boxElement」にバインドすることです。live() バインド カラーボックスの前に、セレクター (私の例では .colorbox) に一致するすべての要素にこのクラス (cboxElement) を追加してから、この新しいクラスにバインドします。
したがって、カラーボックス バインドを ajax されたコンテンツの外側に配置すると、#featureList div を ajax に置き換えた後にリンクにバインドされると考えました。しかし、.colorbox ではなく .cboxElement にバインドしているため、そうではありません。そのため、ajax がカラーボックスをリロードしても、.cboxElement クラスが要素に再追加されません。
ajax コンテンツで $.fn.colorbox.init() を呼び出して、カラーボックスを取得して .cboxElement クラスを要素に再追加しようとしましたが、これは効果がありませんでした。(シャドウボックスを扱うときはこのようなことをしますが、カラーボックスでは同じようには機能しないようです。)
そこで、すべてのカラーボックス コードを ajax コンテンツ内に配置しようとしました。これを行うと、カラーボックスのバインドがスタック/チェーンになります。したがって、2回目に呼び出すと、2つのカラーボックスが表示されます(メイン画面に戻るには、「閉じる」ボタンを2回押す必要があります)。3回目で3つ取れました。これは、colorbox を再度呼び出すと、.cboxElement クラスが追加され、古い live() バインドが再びアクティブになり、別の live() バインドも追加されるためです。最初に .die() を呼び出して .live() バインドをクリアしようとしましたが、何らかの理由で機能しませんでした。
関連する投稿をいくつか見つけましたが、カラーボックスは既に live() を使用しているため、この問題を解決したものはありません:
Problem with jQuery Colorbox
jQuery AJAX table to a page but now the colorbox overlays not work
そこに他のアイデアはありますか?私は本当に困惑しています。別のライトボックスに切り替える必要があるように感じますが、一般的にはカラーボックスが好きで、この ajax の問題が発生するまで、サイトの他の場所でうまく機能していました。
ありがとう!!!
編集:
したがって、この場合、私の問題は、フレームワーク ( Yiicolorbox
) が各 AJAX 呼び出しに重複したスクリプトを含めていたため、問題が発生していたことでした。だから気をつけて!
重複スクリプトの問題に直面していない問題を抱えているすべての人のために、@Relic は以下を指摘しています。カラーボックスのデフォルトバインディングに依存live()
する。私の場合、次のように微調整します。
php - Yiiマルチページフォームウィザードのベストプラクティス
Yiiでマルチページフォームを作成しようとしていますが、PHPとYiiはまったく新しいので、マルチページフォームを作成するためのベストプラクティスは何か疑問に思っています。これまでのところ、私が計画しているのは、ユーザーが現在実行しているステップをフォームに含む「step」という名前の非表示フィールドを追加することです(フォームは3つのステップ/ページに分割されています)。それを念頭に置いて、これは、コントローラーの前/次のボタンをクリックするユーザーを処理する方法です。
このアプローチは理にかなっていますか?それとも私はベースから離れており、Yii / PHPでこれを行うためのはるかに優れたより最適化された方法がありますか?
ありがとう!
php - Zend vs Yii vs CI のソーシャルネットワーキング Web サイト
大規模なソーシャル ネットワーキング Web サイトを開発するには、上記のフレームワークの中から選択する必要があります。以前にいくつかのプロジェクトで Zend フレームワークを使用したことがあるので、Zend フレームワークを使用することに偏りがありますが、公正な意見を述べたいと思います。
主にパフォーマンスと拡張性を求めています。
php - Yiiフレームワーク「メタDBモデル」作成+postgres継承
私はDBテーブルをほとんど持っていません.魔女は1つのテーブルからの継承を使用して構築されています魔女は新しいテーブルを作成するための一種の「テンプレート」であり、今では一連のビジネスロジックメソッドがテンプレートから継承された列で機能し、追加の列のみが使用されますモデルのプレゼンテーションのためのパラメーターとして、ロジックには意味がありません。
目標は、すべてのテーブルに沿ってビジネス ロジック メソッドを共有することです。今では、別のクラス ウィッチを追加して CActiveRecord を拡張し、そこからすべてのモデルを拡張するか、ロジックをビヘイビアとしてパックしてモデルに追加することで実行できます。ただし、これには、すべてのテーブル/モデルに対して少なくとも「ダンプ」クラス ファイルを書き込む必要がありますが、それらのテーブルはシステム内で「ライブ」であり、システムのライフ サイクルで削除/作成されます。
パラメータ、テーブル名、またはテーブルのモデルを「オンザフライ」で作成し、それにビジネスロジックを追加する方法として、ある種の「メタモデル」ウィッチを作成する方法はありますか?
私は Yii ユーザー ボードでこの質問をしましたが、何の回答も見つかりませんでした :/ 私はこれをある種のコード チャレンジと考えているので、どんな助けや手がかりも歓迎します :)
[編集]
いくつかのサンプル: さまざまなクライアント デバイスのテーブル
- hfc.cable_modem
- lan.switch_port
- lan.voip_gateway
- (近い将来、システムに追加される「テクノロジー」が増えるため、クライアント デバイス用の新しいテーブルが追加され、それらの一部のサポートが終了する可能性があります)
すべてのテーブルはテンプレート テーブルから継承します client_device ウィッチには次のフィールドがあります。
- クライアントID
- service_id
- core_device_id
- (さらに、created、updated、updater などのタイムスタンプ可能な動作のためのいくつかのメタ列)
ビジネスロジックはIDのみで動作し、すべてのテーブルで同じであることがわかります。残りの列は、デバイスパラメーターのストレージ/プレゼンテーション情報として使用されます。
私の目標は、「メタモデル」クライアント デバイスを用意することです。魔女は、このすべてのテーブルにビジネス ロジックを適用し、すべてのテーブルに対して、モデル クラスを記述することなく、特定のフィールドへのアクセスを提供します (魔女 i'新しいテクノロジーが追加されるか、特定のテクノロジーのサポートが将来廃止されるたびに、毎回行う必要があります)
sql - INSERTしようとすると、MySQLと外部キーが競合します
私はアジャイルYiiの本をやっています。
とにかく、私はこのコマンドを実行しようとしています:
そして、私はこのエラーを受け取ります:
だから..tbl_projectテーブルにproject_id=1があるかどうか見てみましょう。クイックSELECT*FROMtbl_project;を実行しました。そしてプロジェクトは存在します。
では、ユーザーを確認してみましょう。SELECT* FROM tbl_user; ID1と2のうん2ユーザー。
私は何が間違っているのですか?タイプミスはありますか?アジャイルyiiの本にはいくつかのタイプミスがありますが、それらはそれほど深刻ではなく、新しすぎるため、正誤表は報告されていません(すでにチェック済み)。
ソースコードのデータベーススキーマは次のとおりです。
とにかく、よろしくお願いします!
編集:プロジェクトが実際に存在することの明確化^^。
mysql> select id、name from tbl_project;
+ ---- + ------------------- +
| id | 名前|
+ ---- + ------------------- +
| 6 | プロジェクト1|
| 1 | プロジェクトゾンビ1|
+ ---- + ------------------- +
セットの2行(0.00秒)
activerecord - 関係はARモデルで機能し、多対1の関係
シナリオは次のとおりです。
IssueとProjectの2つのテーブルがあります。
プロジェクトには多くのIssueを含めることができ、Issueには1つのプロジェクトだけを含めることができます。
問題は多対多なので、定義する必要がありますか?
私が持っているプロジェクトモデルで私が知っている原因:
Issue Modelの場合、外部キーしかありません。
1つの関係に何かを定義する必要はないと思いますか?
前もって感謝します。
ところで、私はアジャイルYiiの本をやっていて、結局この質問を自問しました。ARクラスにはhas-oneオプションがあります(http://www.yiiframework.com/doc/guide/database.arr)。
しかし、このケースは何らかの理由でオプションですか?
php - WSDL から PHP コードを生成する (サービスの置き換え用)
現在、外部アプリケーションによって処理されている Web サービスはほとんどなく、それらを新しい独自の実装として置き換える予定です。
現在持っている WSDL と 100% 互換性のあるストック php インターフェイスと構造を生成するツール/クラス ウィッチはありますか?
この wsdl インターフェイスを再実装する必要があります。インターフェイス自体 (ロジックの実装ではない) が変更されないことを確認する必要があります (WSDL の場所もそのままにしておく必要があります)。
次のようなプロジェクトをいくつか見つけました: http://code.google.com/p/wsdl2php-interpreter
そのようなものを使用したことがある場合は、ヒント、ツールの推奨事項などを教えてください。
PS の再実装は、Yii フレームワークと CWebService クラスの上で行われます。
php - その場でのフォーム生成/動的フォーム/モデルから生成されたフォーム
wufoo.comにも似たアプリケーションを構築するためのヒントはありますか?ログインしたユーザーが同様の方法でフォームを作成するアプリを構築しています...私が疑問に思っているのは、zend、symfony、またはyiiがこれに最も適しているかどうかです。
他の人が見やすくするためのヒントをここに集めます。
これに役立つ可能性のあるフレームワークの利点:
- symfonyには教義があります(しかし、フォームはスクリプトを実行することによってデプロイされますか?)
- Zendにはそのフォームとサブフォームの統合があります(そしておそらく統合の教義は可能ですか?)
- Zendにはform_decoratorsがありますが、学習するための高いしきい値があります。
- yiiにはフォームビルダーと優れたPDOデータベース接続があります
または、「オンザフライでのフォーム生成」を簡素化する他のフレームワークはありますか?
PS。djangosソリューションは非常に興味深いものですが、phpである必要があります。