Drupal

Drupal開発者および管理者向けのQ&A

1
開いているレイヤーマップの表示部分に基づいてビューをフィルター処理する
OpenLayersマップを表示するページがあり、Open Layersデータオーバーレイビューからのデータがフィードされます(ユーザーの場所。場所は、ユーザーアカウント設定の場所のcckフィールドを介して提供されます)。マップのすぐ下に、オーバーレイデータがOpen Layersデータオーバーレイのクローンを使用してリストされます。 現在マップのどの部分が表示されているかに基づいて、リストに表示されているエンティティをフィルタリングする方法はありますか?つまり、マップの別の部分にズームインしたときにリストからエンティティを非表示にする方法はありますか? 例:全体にズームして全世界を表示->すべてのエンティティを表示します。米国にズームし、カリフォルニアのみを表示->カリフォルニアの場所にあるすべてのエンティティを表示します。

2
AegirとDrush makeを使用しながらサイトを開発する
「バージョン管理、drush_make、Aegirを使用したDrupalのデプロイとワークフロー」について、mig5.netからこの記事を読みました。ここで説明するワークフローの効率に感銘を受け、これを本当に実装したいと思っています。何度も読みましたが、はっきりしないことが1つあります。 Webサイトの開発中に、変更を次のビルドにどのように取り入れますか?追加のモジュールが必要だとわかったとき、(たとえばcontrib)モジュールがgitで制御されていないときに、次のビルドでこれをどのように入手できますか?モジュールやライブラリなどを追加するたびに.makeファイルを編集する必要がありますか? 前もって感謝します。
7 drush 

2
ビューのエクスポーズドフィルターでAjaxを使用するが、そのビューのページャーでは使用しない
「ページ」ビューで実験しており、Ajaxを介してビューの公開されたフィルターを送信したいが、同じビューページャーではない(現在、BEFモジュールによって拡張された「分類用語を含む」フィルターのチェックボックスがある)。) 現在、ビュー設定の「詳細」列で「Ajaxを使用する:はい」を選択すると、ページャーと公開されたフィルターの両方がAjax経由で送信されます。公開されたフィルターのみがAjax経由で送信され、ページャーがデフォルトの "?page = X 'GETパラメーターを使用してページをリロードするようにする方法はありますか? ビュー設定に「Use Ajax:No」を残して、何らかのフックを介して、何らかの形でajax機能を公開されたフォームに追加できると考えていました。(form_alter?)または、ページャーのajax機能を無効にするインラインJavaScriptを追加しますか?(これもフォームではありません。) 誰かが私を正しい道に向けることを願っています。(Drupal 7とビュー3を使用)
7 ajax  views 

1
正しいAJAXプラクティス
「オンラインディスカッション」と呼ばれるコンテンツタイプ(以降、ODと呼ばれます)と「オンラインディスカッション返信」と呼ばれるコンテンツタイプ(以降、ODRと呼ばれます)があります。エンティティ参照(drupal.org/project/entityreference)を相互に持つ。 1つのODRが(フロントエンドのカスタムフォームを介して)作成されると、その「親」(作成されたページのOD)を参照し、対応するエンティティ参照(drupal.org/project/cer)を介して同じことが逆に発生します。 ODのページでは、テーマ設定により、参照されているODRの特定の量(最新の10個)が表示されます。現時点では、ビューやパネルの関与なしにレンダリングされたエンティティとして表示されますが、必要に応じて変更することもできます。 各ODRには返信フォームの独自のインスタンスがあり、引用機能が強化されています。 また、ODRは、カスタムフロントエンドフォームを介して、特定のロールからのコメントを受け入れることもできます。 要求事項: 1)以前の(すべてまたはバッチの)応答をAJAXでロードする方法が必要です。現在、jQuery ajaxコールバックを起動して、それに応じて以前のODRをフェッチするビューページにアクセスし、それらのHTMLをDOMに挿入しています。これは機能しますが、200を超えるノードが参照されるテストケースシナリオでは、しばらく時間がかかるようです 2)一定の時間間隔の後、新しいODRを探し、それらに追加して、ODに「ライブライク」な動作を与える方法が必要です。現時点ではこれを同じ方法で行っていますが、問題なく動作するようです。 3)サイトに来る新しい要素にDrupal Behaviorsを適用して、コンテキストリンクが機能するようにするなどの効率的な方法が必要です。Drupal.attachBehaviors(context);を使用してそれを行いました。しかし、問題があります。 これまでの問題: I.同じページ上の同じフォームの複数のインスタンス。 Drupalは最初のODページのロード時にdrupal_html_id()を処理しますが、AJAXを使用する方法はIDの一意性を壊します。たとえば、初期ロードに10個のフォームがあり、AJAXを介して2個追加すると、全体として生成されたビューのHTMLを取得するため、最初の2個のIDが繰り返されます。 II。「以前のすべてのODRをロードする」ケースでのパフォーマンスの問題。かなり自明です。200以上のエンティティをプルし、それらのHTMLを挿入するのはかなり大変です。 III。Drupal.attachBehaviors-私が説明したようにAJAXを使用すると、コンテキストリンクのHTMLは問題なく生成されます。関係するJavaScriptで問題が発生します。数時間の調査の後、これに関するドキュメントがほとんどないため、私はその問題をかなり解決したDrupal Behaviorsに出会いましたが、対処する新しい一連の問題が発生しました。 onLoadイベントが動作になり、AJAXイベントが発生するたびに実行され、複数のイベントバインディングが発生する(現時点ではバインドソリューションの前にバインド解除) 複数のフォームが使用するテキスト領域の縮小などの一部のonLoadイベントは、使いやすさの問題を引き起こします。たとえば、返信またはコメントを入力すると、定期的なajax呼び出しによって新しいODRがサイトに送信され、テキスト領域が折りたたまれます。 jQueryを介してすべての可能性を確実に処理するためにコードを管理するのはかなり面倒で段階的に困難 それで、最後に、質問: 説明されている望ましい結果を達成するためのDrupalコンテキストのベストプラクティスは何ですか?

2
匿名ユーザーの単一フィールドのキャッシュを無効にする方法はありますか?
私は興味深いが、おそらく一般的な問題に遭遇しました。キャッシュがオンになっていると、匿名ユーザーの在庫はすぐには更新されません(これがキャッシュのポイントなので理にかなっています)。ただし、これによりUXWTFが少し発生します。製品の在庫がなくても、「1」がまだ利用可能であることがユーザーに表示されます。彼らがそれをカートに追加しようとしたときだけ、彼らは通知で会った 購入できる「商品名」の最大数は0です。 他のすべてのキャッシュを保持したいのですが、利用可能な在庫数のキャッシュを無効にする方法はありますか?
7 7  caching  commerce 

2
Wysiwygで管理されたリンク?
画像の場合のように、Drupalでリンクを処理する体系的な方法を探しています。画像の場合は、コンテンツタイプに画像フィールドを追加し、「挿入」モジュールをインストールします。Wysiwygを使用すると、ノードコンテンツ内の任意の場所に画像を簡単に挿入でき、フィールドであるため、「管理可能」にできます。 リンク(外部および内部)に似たものを探していますが、既存の方法は考えられません。私が見つけたのは、「リンク」モジュールを使用してすべてのリンクをノードの下部に(フィールド経由で)表示するか、Wysiwygの「リンク」ボタンを使用してリンクをどこかに挿入することですが、それらは管理されていません。 私は次のような解決策を探しています: すべてのリンクは、フィールドとして保持されるため(おそらく「リンク」フィールド)、より簡単に管理されます。 これらのリンクをノードの下部にリンクリストとして表示するのではなく、ノードコンテンツ内のさまざまな場所(「挿入」モジュールを含む画像など)に表示することが可能です。

4
すべてのノードフォームを変更するためのフックを作成する方法は?
私は試した: mymodule_form_node_alter mymodule_form_node_form_alter そしてグローバルフック: function mymodule_form_alter(&$form, $form_state, $form_id) { if ($form['#id'] == 'node-form') { #set message } } 上記のどれも私のために働きません。 すべてのノードフォームを呼び出すフックを作成する必要があります。可能であれば。
7 7  forms 

4
ファイルが画像の場合、ファイルフィールドをサムネイルとして表示しますか?
ユーザーがファイルをアップロードできるように、コメントにフィールドを追加しました。ユーザーがさまざまな種類のファイルをアップロードできるようにしたいのですが、画像の場合はサムネイルを表示します。これは、1つのフィールドを使用しているときに実行できますか?
7 entities 

2
サービスモジュールから1つの分類のみの用語を取得する
サービスモジュールをインストールし、両方taxonomy_termをtaxonomy_vocabularyチェックしました。ただし、1つの語彙の用語だけを取得するのに問題があります。私がするときcurl -g "http://domain.com/endpoint/taxonomy_term?args[0]=machine_name_of_vocabulary"またはcurl -g "http://domain.com/endpoint/taxonomy_term?args[0]=2" 次のようなxml結果が得られます。 <result> <item> <tid>2</tid> <vid>2</vid> <name>Blue</name> <description/> <format>filtered_html</format> <weight>0</weight> </item> <item> <tid>1</tid> <vid>5</vid> <name>Apple</name> <description/> <format>filtered_html</format> <weight>0</weight> </item> </result> これはすべての語彙の用語です。言い換えれば、私は議論が間違っているか、要求が間違っているか、何か他のことが間違っています。 サービスを構成し、1つの語彙のみを取得するようにサービスに要求するにはどうすればよいですか?


2
カスタムパンくずリストの設定に有効なフックはどれですか。
私はこのようなパンくずを設定するテーマを持っています: function mytheme_process_node(&$variables) { (....) drupal_set_breadcrumb($my_breadcrumbs_array); } これは後で別の何かによって上書きされます。パンくずリストを設定するには、表示されたノードの特定の分類値が必要です。そのため、このフックを使用しています。それを効果的に行う方法は?おそらく、後で実行され、まだノードオブジェクトにアクセスできるフックがありますか?

2
機能付きのパネルとミニパネルをエクスポートする方法は?
機能付きのウェブサイトでパネルとミニパネルをエクスポートしようとしています。 機能のドロップダウンメニューには、のオプションがあります"Panels: panels_renderer_pipeline"。ただし、クリックしてもチェックボックスは表示されません。 私は"StrongArm"オプションを調べましたが、パネルとミニパネルに関連するものは何も見つかりません。 助けてくれてありがとう!

1
idでノードを選択し、フィールドと用語を結合するdb_select()を使用したクエリ
idで特定のノードを選択し、それをfield_data_field_projectresources列に結合し、分類から用語を選択するdb_selectを使用してクエリを記述しようとしています(これはterm_referenceフィールドであるため) 私は何度も試みましたが、行き詰まっていました(dr_taxonomy_term_dataテーブルへの参加についての部分さえも知りませんでした)。 $query = db_select('node','n') ->condition('n.nid','5') ->fields('n') ->fields('p'); $query->Join('field_data_field_projectresources','p','p.entity_id = n.nid'); $result = $query->execute(); while($record = $result->fetchAssoc()) { print_r($record); } 助けてくれてありがとう、ありがとう
7 database 

2
ユーザー登録フォームのパスワード確認フィールドを削除する方法
パスワード確認欄を削除したい。ユーザーがパスワードを1回だけ入力する場合は問題ありません。再度確認する必要はありません。 このコードを使用しています <?php function dp_form_alter(&$form, &$form_state, $form_id) { switch ($form_id) { case 'user-register-form': $form['account']['pass']['#type'] = "password"; break; } } どこが間違っているのか教えてください。動いていない。:(
7 forms 

2
画像を揃えるには、どのようにwysiwygフィルターを構成する必要がありますか?
これは、wysiwygフィルターでの私の構成が(Drupal7で)のようになる方法です。 a[!href|target<_blank|title], img[src|align<bottom?left?middle?right?top|alt|border|class|height|width|float], div[align<center?justify?left?right], p[align<center?justify?left?right], br,span,em,strong,cite,code,blockquote,ul,ol,li,dl,dt,dd ただし、私の構成は画像の調整には機能しません。 私は自分のコードを確認しましたが、「style」タグを使用して配置が行われています。 <img src="" alt="" style="float:right" /> イメージに対して次の構成を試しましたが、それでも機能しません。 img[src|align<bottom?left?middle?right?top|alt|border|class|height|width|float|**style**], これがうまくいかなかった別の試みです: @[style] そして、私もそうしようとしました: img[*], 別の試みは、この代替案で詳述されているものです:http : //screencast.com/t/jUOwMxmpu では、画像を調整するための適切な構成は何ですか?私のエラーは何ですか?
7 7  wysiwyg 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.