タグ付けされた質問 「7」

バージョンタグは、サイトが使用しているバージョンを単に示すだけでなく、バ​​ージョンにのみ適用される質問に使用する必要があります。


8
州で必要なフォームを作成する方法は?
選択した内容に基づいてさまざまなフィールドを表示するドロップダウンリストがあり、状態で可視性を調整できますが、必須を使用しようとすると*スパンが表示されますが、実際には必須ではありません。つまり、「必須」であっても、submitを押すことができ、drupalからエラーメッセージが表示されないということです。私は何か間違ったことをしているのですか、それとも現在Drupal 7.8で壊れていますか? $form['host_info'] = array( '#type' => 'select', '#title' => t("Host Connection"), '#options' => array( 'SSH2' => t('SSH2'), 'Web Service' => t('Web Service'), ), '#default_value' => t(variable_get('host_info', 'SSH2')), '#description' => t("Specify the connection information to the host"), '#required' => TRUE, ); $form['ssh_host'] = array( '#type' => 'textfield', '#title' => t("Host …
31 7  javascript 


13
「チェックボックス」FAPI要素の単一のチェックボックスを無効にするにはどうすればよいですか?
タイトルは基本的にそれをすべて言っています、私はチェックボックスタイプのFAPI要素の単一のチェックボックスを無効にしたいと思います。 JavaScriptを使用する場合や、チェックボックスから複数のチェックボックス要素に変更する場合、要素が別のモジュールによって提供されるため、オプションを変更したくありません。 考え?
31 7  forms 

4
大規模サイト向けのメモリ節約キャッシュ消去戦略?
Drupal 7サイトの1つには、数千のフィールド、多数のコンテンツタイプ、25を超えるビュー、および数百(まもなく数千)のプロファイルタイプがあります。このため、エンティティフィールド情報をより適切にキャッシュするコアパッチ(http://drupal.org/node/1040790)と、(1つのHUGEを使用する代わりに、表示によってビューをより適切にキャッシュする-devバージョンのViewを使用しています。すべてのビューデータを含むビューキャッシュ行)。 これにより、サイト上のほとんどのページが160MB以上ではなく20-30MBのRAMを使用して読み込まれます(10MB以上のフィールドとビューのcache_ *テーブル行をプルアップする代わりに、パッチはcache_ *データをより効率的に維持するのに役立ちます)。 ただし、キャッシュの再構築には非常に長い時間がかかるという問題があります。通常、1分または2分以上。また、この間、Drupalはページをロードしません(読み取ろうとしているキャッシュがまだ構築されていないため、他のリクエストは待機する必要があります)。 トラフィックの少ないサイクルでは、これは大した問題ではありません。100人程度のユーザーは、ページが読み込まれるまで1分間待つだけです。しかし、トラフィックの多いサイクルでは、Apacheサーバーは40以上のCPU負荷で狂い始め、すべてのワーカースレッドが待機しているためにメモリがすぐに一杯になり、メモリを使い果たしてスワップを引き起こします。それは一種の死のスパイラルです。httpdを再起動すると問題は解決しますが、正常に戻るには5〜10分かかります。 私の目標は、キャッシュをクリアしてもサイトがひどくならないようにすることです。たとえば、admin_menuの個々のキャッシュクリア機能(「CSS and JS」、「Menu」、「Theme registry」など)を使用すると、「Page and else」オプションを押すまでスムーズに進みます。それは、ビューのキャッシュがリセットされるとき(キャッシュする必要があるビューの数を含む非常にCPUとデータベースに負荷がかかる操作)、およびフィールド情報キャッシュがリセットされるときです(このサイトでもCPUとデータベースに負荷がかかります)。 だから...私の質問/アイデア: ブラシや他のシェルスクリプトを使用して、「すべてのキャッシュを一度に爆発させ、クリーンな再構築を期待する」よりも賢い方法でキャッシュをクリアすることは可能ですか? キャッシュのクリア中にhttpリクエストをブロックして、Apacheが大量のキャッシュスタンプリクエストで詰まらないようにできますか? Drupal /通常のhttpdリクエスト以外でキャッシュをクリアできる場合、おそらくキャッシュクリア操作に高いPHP memory_limitを設定し、ユニバーサルmemory_limitを元に戻すことができます(個々のhttpdスレッドがキャッシュをクリアする必要がある場合は、現在256MBに設定されています) ...)。 基本的に:UIのボタンをクリックするdrush cc allか、使用する以外に、Drupalですべてのキャッシュをクリアするインテリジェントで優雅な方法はありますか? [ 明確化のための編集:私が抱える主な問題は、キャッシュの再構築です。(a)時間がかかり、(b)再構築が完了するまで他のすべてのリクエストをブロックします。トラフィックの多い時間帯で再構築がそれほど致命的ではないようにする方法を見つけたいと思います。]
30 7  drush  caching  performance 

2
スクロールせずに見えるコンテンツのレンダリングをブロックするJavaScriptとCSSを排除する
Drupal 7サイトを構築しています。これらは、私が使用するモジュールの一部です:アダプティブテーマ(テーマ)、ビューとコンテンツペイン、パネル、ミニパネル、どこでもパネル、ページマネージャー、メニュー用のSuperfish、Addthis、Chosen(ドロップダウン)。 サイトのパフォーマンスを改善し、CSSファイルとJSファイルを処理するために、Advaggモジュールを使用しています。 GoogleのPagespeedテストを実行すると、「修正する必要がある」という次のエラーが表示されます。 スクロールせずに見える コンテンツのレンダリングブロックJavaScriptとCSSを排除するページには、6つのブロックスクリプトリソースと8つのブロックCSSリソースがあります。これにより、ページのレンダリングが遅れます。ページ上のスクロールせずに見えるコンテンツは、次のリソースの読み込みを待たずにレンダリングできませんでした。ブロッキングリソースを延期または非同期でロードするか、HTMLでこれらのリソースの重要な部分を直接インライン化してください。 これは、Googleが提供する情報です。 レンダーブロッキングJavaScriptを削除する CSS配信を最適化する AdvaggモジュールまたはDrupalコアの設定を変更して、この問題を解決する方法はありますか? この目標を達成する別の方法はありますか? 更新-mikeytown2の回答に従って変更を実装した後、GoogleのPagespeedテストで次のメッセージを受け取りました。 スクロールせずに見えるコンテンツのレンダリングブロッキングJavaScriptとCSSを排除する ページには、6つのブロッキングスクリプトリソースと4つのブロッキングCSSリソースがあります。これにより、ページのレンダリングが遅れます。 ページ上のスクロールせずに見えるコンテンツは、次のリソースの読み込みを待たずにレンダリングできませんでした。ブロッキングリソースを延期または非同期でロードするか、HTMLでこれらのリソースの重要な部分を直接インライン化してください。


5
hook_form_alterの「und」の言語キーのベストプラクティス
カスタムモジュールのフォームを変更しています。コードは次のようになります。 function my_module_form_alter(&$form, &$form_state, $form_id) { if ($form_id == "someID") { $form['field_charity_author']['und'][0]['value']['#value'] = arg(3); //$form['field_charity_author']['#type'] = 'hidden'; } } ただし、ハードコーディングundは悪いと思います。この場合、フォームフィールドを適切に変更する適切な方法は何ですか?
30 7  entities  hooks  i18n-l10n 

2
Search APIのプログラムによる使用
問題:Search APIを使用してプログラムで独自の検索を実行する必要があります。私が見つけたすべてのGoogleの結果は、開発者以外の人に、Viewsでモジュールを使用する方法を教えることを目的としています。 情報: Solrまたはその他の代わりにローカルデータベースサービスを使用します。 他の結果と一緒に表示されるデータをデータベースに保存しないでください。 コンテンツは「タイプ」タブにグループ化されます。 さまざまな理由でビューを使用しない。 Facets APIを有効にしますが、使用方法もわかりません。 理由:検索ページを/ site-searchに配置し、ページ引数の後に/ node / keywordを使用しないようにするためです。また、同じタイプの機能を提供する他のモジュールの範囲を超えてこれをカスタマイズするよう求められます。そして、私はこれを行う方法を学びたいが、それを達成する方法に関するチュートリアルやその他の洞察を見つけていない。 残り:検索ページを作成し、そのページで次のコマンドで検索を実行しています: $term = $_SESSION['my-search']['term']; $server = search_api_server_load('database'); $index = search_api_index_load('default_node_index'); $query = new SearchApiQuery($index); $query->keys($term); $query->fields(array('title','body:value')); $srv= new SearchApiDbService($server); $result = $srv->search($query); セッション変数は、検索フォームが送信されると設定され、ユーザーを/ site-searchにリダイレクトして検索を実行し、結果を表示します。 $ resultを出力すると、ノードIDとそのスコアの配列である結果セットを含むさまざまな情報を持つ配列であることがわかります。 それらを実行して、ノードを取得して結果を自分で表示することもできますが、検索結果をレンダリングする他の方法が必要だと思います。私はそれを見つけていませんが、それが問題です。 Search APIとFacet APIのさまざまなクラスを調べてきましたが、結果出力を構築するようなものは見つかりませんでした。 これに関する助けをいただければ幸いです。 結果の例: Array ( [result count] …
30 7  search 

2
フォームのカスタム検証?
フォームにカスタム検証を追加する必要があると、記事フォームを追加できます。 私はhook_FORM_ID_validate()これを処理するようなものを期待していましたが、APIドキュメントに関連するものは見つかりませんでした。 フォームにカスタム検証を追加する方法は何ですか?
30 7  forms 

2
test_endpointを作成する方法は?
私はdrupalが初めてで、RESTおよびRESTWSモジュールを使用するためにサービスモジュールを使用しています。RESTWSを使用し、http://base_url/node/1.xmlでノードのコンテンツを取得できました 。次に、外部PHPアプリケーションからノードとユーザーをdrupalに追加する必要があります。私はグーグルで調べて、ここでhttp:// base_drupal_url / drupal7 / test_endpoint / usersを使用する必要があることを発見しました。Drupal 7からサービスを作成しようとしましたが、エンドポイントのタイトル、名前、エンドポイントパスに何を指定すればよいかわかりません。また、curlで同じエンドポイントパスを指定する必要があると思います。 レストサーバーがインストールされているかどうかを確認する方法、およびエンドポイントパスを作成する方法に関するヘルプは、非常に役立ちます。 サービスモジュールservices-7.x-3.0-rc3でDrupal 7を使用しています
29 7  services 

8
db_query()を使用して1つの結果のみを取得する方法
私は「古い学校」のPHP MySQLを使用mysql_fetch_array()するなどの方法から移行しており、モジュールでデータベースAPIを使用して、よりDrupallyになろうとしています。 単に値を返し、出力したいだけです。例えば: $query = db_query("SELECT zip FROM {zipcodes} WHERE city = :city LIMIT 1", array(":city" => $city)); 値が存在することはわかっています。データベースAPIの外部の従来の方法を使用して、アクセスして印刷できます。 print $query->zip 動かない。 APIドキュメントは泥と同じくらい明確です。 誰かがこれらの値にアクセスする正しい方法を教えてもらえますか? 誰もがお勧めできる良いチュートリアルはありますか?
28 7  database 

5
フォーム内の動的選択リスト(依存ドロップダウン)
Drupal 7を使用しています。選択リストのオプションを、フォーム内の別の選択リストで選択された値に依存するようにします。これは以前にも何度も質問されていたと思いますが、これを行う方法について明確な答えを見つけるのは困難です。 このフォームは、ユーザーが作業履歴を入力するためのものです。彼らは、飛行隊フィールドタイプへのノード参照である飛行隊を選択する必要があり、これはドロップダウンリストにあります。ただし、戦隊は都市のドロップダウンリストに依存しています。ユーザーは最初に都市を選択する必要があります。都市を選択すると、戦隊のオプションがフィルタリングされます。飛行隊コンテンツタイプでは、飛行隊にタグ付けされる都市の分類法を作成しました。 これを実行するための最善の方法(最も簡単な方法)についてのポインタ、または役立つオンラインの有用なリソースに非常に感謝します。
28 7  ajax  forms 

7
単一モジュールのupdatedbを削除
drushを使用して単一モジュールの更新機能を実行することはできますか?私が見ることができますdrush updatedb引数としてモジュール名を取り、利用可能なすべてのアップデートを実行しません。次にdrush pm-update、新しいファイルもチェックします。ドキュメントは言います: (pm-updatecode + updatedbと同じ) これは、drush pm-update利用可能な(より新しいupdate_functionが終了する)更新をすべて実行すると、更新が実行されることを意味しますか?1つのモジュールだけを(db)更新する方法はありますか?
28 7  drush  updating 

5
ビューで分類法/用語/%リストをオーバーライドするにはどうすればよいですか?
コンテンツタイプにボキャブラリーが関連付けられています。このコンテンツタイプで作成されたノードを分類するために選択できる用語は1つだけです。ボキャブラリーはビークルと呼ばれ、「車、トラック、ボート」という用語があります。コンテンツタイプの名前もVehiclesです。 パスautoを使用して[vocabulary:name] / [term:name]を表示するため、レンダリングするとsite.com/vehicles/trucksが表示されます。たとえば、すべてのトラックが表示されます...典型的なDrupalのもの。 OK... これで、「乗り物」というパスのあるページであるビューができました。コンテンツタイプ「車両」のすべてのアイテムを表示するように設定されています。このページビューは、「分類用語ID」という引数を取るようにも設定されています。 タクソノミー用語が存在する場合、タクソノミーパスに対して生成されるURLエイリアスは、引数が指定された[ビュー]ページとまったく同じであることに注意してください。 URLエイリアス分類パス= vehicle / trucks。引数を含むビューページ= vehicle / trucks。 これは意図的なものです。私の目標は、引数が存在しない場合にそのコンテンツタイプのすべての結果を表示することであり、引数が存在する場合、最も重要なことは、その分類用語に基づいて結果をフィルタリングし、引数なしと同じフィールドと構造を保持することです(と同じsite.com/vehicles)。 問題は、これが期待どおりに機能しないことです。site.com/vehiclesは、私のビューと関連するフィルターを正しく表示します。site.com/vehicles/trucksは、Drupalが提供する通常のフォーマットされていない分類リストのみを示しています。 これは、分類用語ID引数が正しく構成されていないためですか? これは、ビューの後に分類フックが発動する重みの問題ですか?もしそうなら、どのように私はそれが正しく発火し、私に必要な結果を与えるように、ここで重みを再配置できますか? 私があなたが提案しようとしていることは知っています-ビューには、Drupalのデフォルトビューをオーバーライドするタクソノミー/用語/%ビューが付属しています。 しかし、これは私の場合はうまくいきません。複数のコンテンツタイプがあり、それぞれに独自のボキャブラリーがあり、それぞれにオンビューと個別のフィールドセットがあります(たとえば、家と車には非常に異なるフィールドセットがあります)。すべてのコンテンツタイプに同じフィールドがある場合、分類法/用語/%が機能しますが、そのオーバーライドのフィールドを模倣することができますが、そうではないため、引数に基づいてパスを取得して、その語彙用語と私のフィールド構造を維持しますか? 混乱する場合は申し訳ありません。参照のためのサイトへのリンクhttp://www.buyagainbaby.com。サイトは現在、タクソノミー/用語/%をオーバーライドとして使用していますが、各ビューがタクソノミーに基づいて結果セットをレンダリングする方法を担当するように変更する必要があります。

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