Drupal

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

3
モジュールから関数をオーバーライドするにはどうすればよいですか?
まず、この回答が他の場所でカバーされている場合は、申し訳ありません。私はたくさんの検索を行ってきましたが、テーマの関数とフックのオーバーリングに関する情報しか見つけることができません。 Drupal Commerceアイテムの価格表を作成するモジュールを使用しています。テーブルヘッダーをフォーマットする関数があります。 /** * Helper function that takes care of the quantity displayed in the headers of * the price table. */ function commerce_price_table_display_quantity_headers($item) { // Set the quantity text to unlimited if it's -1. $max_qty = $item['max_qty'] == -1 ? t('Unlimited') : $item['max_qty']; // If max and min …
8 7  commerce 

5
画像フィールドに説明を追加するにはどうすればよいですか?
私が持っているコンテンツタイプ持っているフィールドの画像フィールドのタイプを。 このフィールドを編集すると、次のことができることがわかります。 Enable Alt field また、次のこともできます。 Enable Title field 各画像の下に表示される説明フィールドを追加する方法はありますか?
8 entities  media 

1
画像リンクを作成する「Drupal」方法は何ですか?
Drupalでリンクを作成する正しい方法はを使用することl($text, $path, array $options = array())です。しかし、それはテキストリンクのみを許可します。リンクする画像を作成するための同様の機能はありますか、それともHTMLを書き出すだけでよいですか?
8 7  media  navigation 

1
プログラムで多言語ノードを作成する
PHPスクリプトを使用して多言語ノードを作成しようとしています。 私はこれをやっています: $node = new stdClass(); $node->title = "Test ".mktime(); $node->type = "job"; $node->language = 'de'; // Or e.g. 'en' if locale is enabled $node->uid = $user->uid; $node->status = 1; //(1 or 0): published or not $node->promote = 0; //(1 or 0): promoted to front page $node->comment = 1; //2 …

1
「オプション」レート/投票APIウィジェットの結果でビューを並べ替える方法はありますか?
Rateモジュールを使用して、特定のノードが「役立つ」か「役に立たない」かを投票できるようにしています。このタイプのすべてのノードを含むビューがあり、そのビューにはレートウィジェットのフィールドが含まれています。ウィジェット自体の表示に問題はなく、投票は完全に機能しています。しかし、私は一生、どんな種類の並べ替え機能も動作させることができません。 私は投票に関係するすべての種類のソートを試してみましたが、それらのすべてが関連する順序でノードをソートしません。「オプション」の値タイプを使用しているために問題が発生しているようです。また、見つけた提案では、値タイプを「ポイント」にする必要があるようです。ただし、私はユーザーに「賛成」または「反対」または+/-投票システムを使用するよりも、「役立つ」と「役に立たない」のどちらかを選択してもらいたいと思います。 「最も役立つ」と「最も役に立たない」で並べ替えて、「オプション」の値タイプを維持する方法を誰かが知っていますか?
8 views  rating 

2
ビュー7.x-3.3でこのフィールドの出力を書き換えることはできません
何か足りないものがあるかどうかはわかりませんが、このフィールドの出力を書き換えるボックスまたはスタイルオプションの下にある何かをチェックして、HTMLをカスタマイズしても何も起こりません。チェックして保存し、もう一度開いて、ボックスのチェックを外します。誰が何が起こっているのか知っていますか? 明確にするために編集。次の設定で新しいビューを作成します:ページ、フォーマット:フォーマットされていないリスト、表示:フィールド、フィールドはコンテンツ:タイトル。Content:Titleの設定で、ラベルを作成するためにチェックします。[スタイル設定]で[フィールドHTMLのカスタマイズ]、[ラベルHTMLのカスタマイズ]、[フィールドとラベルラッパーHTMLのカスタマイズ]をクリックするか、このフィールドの出力を書き換えますが、何も起こりません。チェックボックスを保存すると、チェックされていない状態に戻ります 解決しました。ビュー7〜3.3はjQuqery 1.7以降では機能しません。チェックボックスをクリックした後にボックスが拡大するのを防ぎます 出典:http : //drupal.org/node/1494860
8 views  theming 

2
ベースURLを変更する方法
drupalを使用してウェブサイトを構築しました。現在、ベースURLはhttp://xxx.xxx.xxx.xxx/drupalです。しかし、ベースURLをhttp://xxx.xxx.xxx.xxxに変更したいのですが、 どうすればよいですか? ありがとう。
8 uri 

2
管理者側のテキスト領域の構文の強調表示(ノードまたはブロックの編集中)[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? Drupal Answersのトピックとなるように質問を更新してください。 3年前休業。 Drupalの管理側でノードまたはブロックを編集しているときに、HTML(およびスタイル/スクリプトタグ内のCSS / JavaScriptが望ましいですが、それは追加のボーナスです)を強調表示するモジュールを見つけようとしています。 drupal.orgで構文強調表示モジュールを検索し、GeSHiやSyntax Highlighterなどのオプションを見つけましたが、どちらも一般向けのコンテンツであり、管理者向けではないようです。私は間違っていますか、私に適していますか?また、PHPコードブロックを強調するプロジェクトもいくつか見ましたが、HTML / CSS / JavaScriptほど重要ではありません。 私は自分のHTMLにWYSIWYGエディターを使用したことはありませんが、コンテンツを編集する際に強調表示が非常に役立ちます。

1
特定のフィールド値のユーザー(エンティティ)を取得するにはどうすればよいですか?
特定の値を入力したユーザーをカスタムユーザーフィールドに返す関数を書きたいのですが。 すべてのユーザーにカスタムの誕生日フィールドがあるとしましょう。特定の誕生日を持つすべてのユーザーを取得するための最良の方法は何ですか? field_data_field_birthdayテーブルを検索し、field_birthday_valueが指定された値と一致するentity_id(この場合はユーザーID)を返すDBクエリを作成して、ユーザーをロードできます。 これは少し粗雑に思えますが、このユースケースで使用できる汎用関数はありますか?エンティティAPIまたはフィールドAPIのどちらでしょうか?
8 users  entities 

3
ビューによって作成されたNIDのリストをインターセプトして、別のビューのフィルターとして使用する方法はありますか?
DrupalとViews APIを使用して、カスタムコードレベルでサイトデザインの課題を解決しようとしているDrupalエクスペリエンスの時点にいます。いつものように、明らかに問題を解決しようとする私の単純な試みは、私がまだ知らないことがどれほどあるかを私に示しました! 多くの異なるコンテンツタイプとこれらの各タイプのサブカテゴリで使用される「関連ファクト」コンテンツを指すノード参照フィールドがあります。関係を作成してビューの「関連する事実」を表示することはできますが、問題があります。1つは、関連するファクトを別のブロックに入れて、ビューによって提供される記事のリスト全体について、関連するファクトの単一のリストを表示することです。ビューは、同じ「関連ファクト」参照を持つ複数のnidの重複を適切に処理しません。さらに、コンテンツタイプとサブカテゴリごとに個別の「関連ファクト」ビューを生成する必要があります。 引数としてnidのリストを受け入れることができる個別の関連するファクトビューを作成できれば、関連するファクトビューを簡略化できます。だから私の質問はこれにどう取り組むかです。ビュー内から可能かもしれませんが、カスタムモジュールのphpソリューションを探しているので、次のことを達成する必要があります。 「コンテンツタイプ」ビューのいずれかの結果を引数のリストとして抽出します。ビューの結果を表示することに加えて、表示されているNIDのリストをロードする必要があります。 関連するファクトビューを呼び出し、NIDのリストをそれに渡し、「関連するファクト」ビューでフィルターまたはコンテキストフィルターとして使用します。 追加情報: この戦略を使用して、ビューを定義し、そこから結果を抽出することから始めました。この試みにより、ビューオブジェクトで結果を検索するときに問題が発生しました(この質問を参照してください)。結果を取得したら、それらの結果をフィルターとして含む別のビューを生成する必要があります。すべてのパラメーターがコード化されたインクルードファイルとしてコードから実装されたビューを見ましたが、ビューを定義および生成し、php関数を使用して結果を操作する例は見つかりませんでした。どんな例やリンクもいただければ幸いです。 これまで: 2つの答えが、ビューの結果を適用し、それをコンテキストフィルターとして別のビューに配置するプロセスに対処しています。しかし、私はまだ数十のコンテンツタイプがあり、それぞれに少なくとも12のビューコンテンツペインのバリエーションがあるという問題に直面しています。各ビューを関連するファクトに直接リンクする代わりに、view1コンテンツビューのいずれかの結果を単一の個別の「関連するファクト」ビューに渡す必要があります。 CONTENT TYPE SUB-CATEGORY RELATED FACT (nid) Type 1 --------- General Info 101, 105 Specifications 103, 105 Inspections 102 Quality etc... Type 2 ----------General Info 101, 106 Specifications 102, 103 Cost factors 107 etc... View1は特定のコンテンツタイプを検索し、サブカテゴリフィールドの値でソートされたさまざまなサブカテゴリの記事を含みます。さらに、関連するファクトのノード参照フィールドが含まれています。コンテンツタイプとサブカテゴリの1つのフィルターを表示します。表示するための公開フィールドと、関連するファクト参照ノードを持つ非表示フィールドがあります。 View2は「関連する事実」の記事をフィルタリングし、nidのコンテキストフィルターセットを含みます(ただし、設定はURLに適用されます) Letharionの回答のコードを使用して、6行目のforeachループは、関連するファクトIDではなく、記事IDのリストをコンパイルしています(記事は関連するファクトへの参照を保持していますが、関連するファクトには記事へのノード参照がありません) 。各ノードのファクトフィールドから関連するファクトIDを抽出する必要があります。ビュー1の定義にファクトフィールドを含めましたが、コマンドdpm($ node);なので結果を見つけることができません。クラッシュしていて、値が配列のどこに格納されているのかわかりません。 異なるコンテンツタイプに対して複数のView1のクローンが作成されるため、hook_views_post_executeを使用することは理にかなっていると考え、次のようにコーディングしました。 function …
8 views 

4
hook_init()の代替
hook_init()ユーザーの最終アクセス時間を確認するために使用します。最終アクセス時刻が昨日である場合は、カウンターをインクリメントしていくつかの変数を設定します。 問題は、同じページの読み込みで複数回実行されることがあるためhook_init()(これはを使用して確認できますdsm())、コードが複数回実行され、誤った変数が生成されます。 なぜhook_init()複数回実行されるのですか? 私の問題への最善のアプローチは何でしょうか?別のフックを使用する必要がありますか? 私はこれについてさらに掘り下げました: hook_init()への呼び出しを検索しました(stringを検索しましたが、コアコールmodule_invoke_all('init');のみを見つけました)。これを別の方法で呼び出すことができるかどうかはわかりません。 これは私のhook_init()です function episkeptis_achievements_init(){ dsm('1st execution'); dsm('REQUEST_TIME: '.format_date(REQUEST_TIME, 'custom', 'd/m/Y H:i:s').' ('.REQUEST_TIME.')'); } そしてこれは出力です: 1st execution REQUEST_TIME: 09/07/2012 11:20:32 (1341822032) 次に、dsm()メッセージをに変更してdsm('2nd execution');再度実行すると、これは出力です。 1st execution REQUEST_TIME: 09/07/2012 11:20:34 (1341822034) 2nd execution REQUEST_TIME: 09/07/2012 11:22:28 (1341822148) コードが2回実行されていることがわかります。ただし、1回目はコードの古いコピーを実行し、2回目は更新されたコピーを実行します。2秒の時間差もあります。 これはphp 5.3.10のd7バージョンです
8 7  hooks 

2
ユーザーに分類用語の追加を許可するが、管理者にそれらの確認を要求する
ユーザーが新しい分類用語を追加できるようにしたいのですが、管理者による確認を求めています。私がこの作業を想定している方法では、指定された管理者に通知を送信するフォームにユーザーが記入することになります。次に、管理者がユーザーの要求を受け入れた場合、フックまたはメソッドがトリガーされ、新しい分類用語が作成されます。 Drupalでこの種のことを行う方法はありますか?

3
管理/コンテンツフォームの変更
ノードに「変更者」を追加した後、各ノードを変更したユーザーをnode_admin_contentフォームの(admin/content)の[作成者]列のすぐ隣に表示する必要があります。 node.admin.incを変更して2行のコードを追加するだけで、これを簡単に解決できました。 ... 'changed_by' => t('Changed By'), ... ... 'changed_by' => theme('username', array('account' => user_load($node->changed_by))), ... もちろん、これはコアを変更するため、適切なソリューションではありません。 だから私はそれからフォームを変更しようとしました: function hook_form_node_admin_content_alter(&$form, &$form_state, $form_id) { $form['admin']['nodes']['#header']['changed_by'] = t('Changed By'); // ... ? } を使用dpmすると、フォームにオプションのノードがあることがわかります。問題は、これがノードをテーブルオプションとしてレンダリングした結果であるということです。元のノードにアクセスできません。また、「変更者」情報を取得するためにノードフェッチクエリを再実行しません。フォームフックでこれを行うと、正しいレイヤーでそれを解決できないと思います。またはそれは? では、node_admin_contentノードに存在するデータをさらに追加するためにフォームを変更する良い方法は何ですか?
8 7  users  nodes 


4
ビュー3、言語のコンテキストフィルター-複数の言語に対応
このサイトを構築するために、次のことができるようにする必要があります。 ユーザーがサイトを英語で表示すると、すべての英語の記事が表示されます ユーザーがオランダ語でサイトを表示するとき、オランダ語のすべての記事を表示します-未翻訳の英語の記事も表示します ユーザーがドイツ語でサイトを表示するときは、ドイツ語のすべての記事を表示しますが、翻訳されていない英語の記事も表示します。 コンテキストフィルター「コンテンツの翻訳:言語」では、1つの値しか入力できません。それは指定された言語、またはすべてです。 しかし、私の場合、たとえば "en + nl"または "en + de"を設定できる必要があります。「Has Taxonomy」という分類法でできることのように、「Has Language」のようなものをお願いします。
8 7  views  i18n-l10n 

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