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

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

2
非公開ノードをプログラムで公開する方法
非公開のノードがいくつかあり、そのノードIDがあります。プログラムでそれらを公開するにはどうすればよいですか?次のようなクエリを使用してカスタムモジュールでそれを達成するのは正しいですか? db_query("UPDATE {node} SET status = 1 WHERE nid = %d", $nid)
16 7  database 


2
Drupalのセッション管理とユーザー認証について
デフォルトのユーザー認証を中央サーバー、つまりSSOサーバーの認証に置き換える必要があるという要件があります。 Drupalをデバッグすることで、すべてのセッション管理がincludes/session.incファイルで行われることを知りました。画像に示すように認証を行いたい: シナリオ:ログイン 手順の詳細は次のとおりです。 ログインフォームを置き換えて、SSOサーバーにユーザー名とパスワードを送信します(Drupalではなく、.NET上)。 そのサイトのデータベースを使用して、SSOサーバーでユーザーを認証します。私のウェブサイトのカスタムPHPページ(またはモジュールによるフォーム?)に応答を送り返します。 応答を使用して、usersテーブルでユーザーを識別し、パスワードを確認せずにそのユーザーのセッションを作成します(二重認証を意味するため)。デフォルトでは、Drupalは$insecure_session_name変数名と値を使用してCookieを設定します$sid。DrupalがここでCookieを設定しないようにし、代わりにSSOサーバーに変数の値を送信します。 SSOサーバーは、値を取るクッキーを作成し、メインドメインにドロップしますdomain.com(両方を思い出させるmy websiteし、sso serverどのすぎではないのDrupalで、メインドメインのサブドメインにあります)。次に、drupalサイトはそのCookieを使用してログインできます。 私はそれが難しい質問であることを知っています、私はどのように始めるべきかについてのポインタを探していますか?彼らは「コアをハッキングするべきではない」と言っています。だから、私の質問は: Drupal認証とセッション管理がどのように機能するかを理解するには、どこを探すべきですか? includes/session.incフックを使用して関数を呼び出すことができる方法はありますか?(関数のコメントには「内部使用のみ/変更しないでください」と書かれています) 注:同じ方法を使用してユーザーを登録するため、レコードはSSOサーバーの中央データベースに残ります。そしてその間に、Drupalサイトのデータベースにある同じユーザーのジャンクパスワードを入力します(ログイン中にパスワードがチェックされないため)。

3
StackExchangeサイトに似たDrupalのバッジを使用したレピュテーションベースのシステムの実装方法
StackExchangeでバッジを獲得するのは楽しいです。ただし、ユーザーからの質の高いやり取りを促進し、スパムの排除に役立ちます(サイトにスパムの投稿を見たことはありません)。 約500人のアクティブユーザーがいるコミュニティWebサイトを持っていますが、スパマーはますます多くなり始めています。 同じ品質の双方向性を促進しながら、サイトをより魅力的にする方法が欲しいです。 優れた評判システムと目標達成システムを導入することをどのようにお勧めしますか?
16 7 

2
エンティティプロパティのフィールドフォーマッタを実装する方法
エンティティAPIを使用して、特定のプロパティが定義され、クラス拡張で宣言されたカスタムエンティティを作成しました。hook_schema()entityPropertyInfo()EntityDefaultMetadataController ここまでは順調ですね。 ここで、エンティティを表示するときにこれらのプロパティを表示するかどうか、および表示する方法をユーザーがカスタマイズできるようにしたいので、hook_field_extra_fields()を実装して宣言しました。 次に、ここで説明するように、拡張するコントローラーでEntityAPIController、$ content配列にプロパティを追加しました。buildContent() 実際にはかなりうまく機能し、プロパティがレンダリングされ、「ディスプレイの管理」の順序と可視性の設定が尊重されます。 ただし、表示の管理に設定を追加してラベルの配置(inline/above/hidden)をカスタマイズする方法、さらに重要なことには、これらのプロパティのカスタムフォーマッタを指定する方法がわかりません。 手がかりはありますか?
16 7  entities 

4
スタンドアロンPHPファイルの適切なブートストラップdrupal?
これは私が今持っているものです: <?php define('DRUPAL_ROOT', '/var/www/clients/client1/web15/web'); include_once(DRUPAL_ROOT . '/includes/bootstrap.inc'); drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); // drupal_flush_all_caches(); $users = views_get_view_result('userlist', 'uid_list'); $i = 0; foreach ($users as $user) { $filename = 'sites/default/files/generated_pdfs/individual_pdf_report_' . $user->uid . '.pdf'; generate_employee_pdf($user->uid, $filename); error_log('Generated ' . $filepath); $i++; } // create object $zip = new ZipArchive(); // open archive if ($zip->open("sites/default/files/generated_zips/individual-reports.zip", ZIPARCHIVE::CREATE) …
16 7  bootstrapping 

2
フォーム送信ハンドラーを変更するにはどうすればよいですか?
何らかの理由で、データベースに保存する直前に、任意の形式のすべてのテキストフィールドのいくつかの文字(存在する場合)を置き換える必要があります。言い換えれば、提出されたすべてのデータを取得し、それらの文字を置き換えることができるフックが必要です。 私はこの解決策を見つけました: function hook_form_alter($form, $form_state, $form_id) { $form['#submit'] = 'my_custom_submission_function'; } ただし、提出の進行状況の残りの部分も処理する必要があるため、これは良い考えではありません。いくつかの文字を置き換えるだけです。これを行うためのフックはありますか?解決策は何ですか?
16 7  hooks  forms 


2
AJAXコールバックで$ form_stateを変更します
フォームAPI '#ajax'属性を使用するフォームを作成してい$form_stateますが、AJAX対応ボタンが押されたときを変更する必要があります。ここに私が持っているものがあります: フォームビルダー関数内: ... $form['some_fieldset']['add_more'] = array( '#type' => 'button', '#value' => t('Add more rows'), '#ajax' => array( 'wrapper' => 'some-fieldset', 'callback' => 'my_module_settings_ajax', 'method' => 'replace', 'effect' => 'fade', ), ); ... そして、これがコールバック関数です: function my_module_settings_ajax($form, $form_state) { // Make a change to $form_state if ($form_state['some_fieldset']['add_more']) { $form_state['values']['some_fieldset']['table'][] = array('first_field' …
16 7  forms  ajax 


3
ページ実行時間を短縮する最適なAPC設定
Drupal 7、apcにphp-fpm、ワニスと512 MB RAMの背後にapacheがあります。 develモジュールでページの実行時間を測定します。 データベースのクエリ時間は、ページの実行時間である854ミリ秒に比べて短い(62ミリ秒)です。これは、PHPとAPCの設定に問題があることを意味します。 私の現在の設定はただ apc.shm_size = 64 apc.stat=1 どうすれば改善できますか? 上記の構成を考慮した場合、Drupalの最適な設定は何ですか? ありがとう
16 7  performance  caching 


9
キャッシュのクリアをフックする方法はありますか?
大きなキャッシュを備えた大きな教育機関のウェブサイトの場合、ユーザーがキャッシュ生成にアクセスできないように、できるだけ早くキャッ​​シュを生成したい... 私はいくつかの機能を実行し、重要なページを要求することでそれを行うcronセットをすべて持っていますが、私が探しているのはキャッシュがクリアされたときを知る方法、できればフックなので、これを起動できます生成関数。 何か案が ?
16 7  hooks  caching 

3
保存後のアクションに使用できるフックは何ですか?
この同じ質問の投稿をいくつか見つけましたが、答えは常に他のトピックに分かれているか、私のニーズに合っていません。 ノードを保存した後、カスタムモジュールで、新しいノードのnidを含むカスタムテーブルの1つに行を挿入します。ときhook_node_submitに呼び出され、NIDはまだ存在していません。hook_node_insertにはnidがありますが、ノードが最初に保存されたときにのみ呼び出されますが、ノードが保存されるたびにアクションを実行する必要がある可能性があります。 私の計画は、機能を独自のメソッドに分離し、両方のフックを実装することですが、Drupalで適切に処理することを学ぼうとしているので、実際に要件に合ったフックがあるかどうか疑問に思っています。 ノードが保存され、保存が完了した後に呼び出されるたびに呼び出されるフックはありますか?
16 7  hooks  nodes 

3
プログラムでノードからフィールドを削除する方法は?
プログラムでノードからフィールドを削除するにはどうすればよいですか?hook_update_N内容をaaフィールドからカスタムテーブルに移動する移行があります。その移行後、同じ機能のフィールドを削除したいと思います。 フィールドの削除に対応するフィールドAPIはありますか? 編集、解決策:回答には実際のコードがないため、ここでフィールドを$ usersから自分のレコードに移動し、その後データベースからフィールドを削除しました。 function my_module_update_7005(&$sandbox) { $slice = 100; //Fetch users from database; if (!isset($sandbox['progress'])) { $sandbox['progress'] = 0; $sandbox['current_uid'] = 0; // We'll -1 to disregard the uid 0... $sandbox['max'] = db_query('SELECT COUNT(DISTINCT uid) FROM {users}')->fetchField() - 1; } if (empty($users)) { $sandbox["current_uid"] += $slice; } $users = …
16 7  entities  updating 

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