Drupal

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

1
結合を使用したdb_update()
db_update()次のクエリのための方法はありますか? UPDATE field_data_field_TEST as ft left join node as n on ft.entity_id = n.nid set n.type='test' where n.type='foo' 使ってみましたdb_update()->join();がうまくいきませんでした。
9 7  database 

4
他のモジュールのフィールドフォーマッタにフックしますか?
現在、Drupal 7サイトにノード参照の画像フィールドを実装しようとしています。これにより、レンダリングの直前のプログラムロジックに応じて「表示モード」が変更されます。フィールドは現在、表示モード設定を介していくつかのコンテンツタイプでレンダリングされており、それぞれがフィールドフォーマッター「レンダリングされたノード」を使用しています。 最初の試み 私の最初のアイデアは以下を実装することでした、フックはフックであると考えるとフックです: function HOOK_field_formatter_view( $entity_type, $entity, $field ... ){ switch ($display['type']) { case 'node_reference_node': /* Programatical logic here to modfy field render settings */ break; } } 明らかに、HOOKを私のモジュール名と交換します。 上記は、元の関数の前または後に発射するならば、それは本当に問題ではありませんでしたnode_reference_field_formatter_viewでnode_reference.module、私はどちらか完全にそれの出力を上書きしたり、うまくいけば、レンダリングの前にその値を変更してしまうため。唯一の問題は、上記のフックがモジュールごとにのみ機能するように見えることです。つまり、サイト全体ではないので、基本的には私のモジュールでは起動しません。 これで、レンダリングされたノードを出力するための独自のフィールドフォーマッターを作成できるようになりました。しかし、すでに存在するものがあることを考えると、それは少し無駄のようです。 他のアプローチ 私の他のアプローチは以前からHOOK_preprocess_nodeありましたHOOK_preprocess_fieldが、前者にはview_mode情報が含まれておらず、後者には少なくとも5つの異なる複雑な構造が含まれており、それらはすべてview_mode異なるレベルのプロパティへの参照を持っています。それぞれを変更するのはかなりハッキーな感じです値。特定のview_modeプロパティを変更しても、結果の画像は変更されません。 質問 (contribモジュールの)フィールドフォーマッタがレンダリングされる前に介入し、ページリクエストごとにその設定を変更するためのクリーンな方法を知っている人はいますか?つまり、実際のコンテンツタイプの永続的な表示モード設定を変更する必要はありませんか?
9 entities 

1
コードでユーザーのパスワードを設定しますか?
コードでユーザーのパスワードを変更できるようにしたいと思います。 以来user_load戻りオブジェクト、およびuser_save配列を望んでいる、これは非自明です。 誰かが素早く簡単な方法を見つけたと思います。 私の現在の解決策は次のようになります: db_update('users') ->fields(array('pass' => user_hash_password('some_password'))) ->condition('uid', 1) ->execute(); しかし、私はこれがほとんどのフックをバイパスするのが好きではありません。
9 users 


4
コンテンツでPHPを使用してモバイルブラウザーを検出する方法
Drupal 7.14をPHPフィルターと一緒に使用すると、基本ページコンテンツタイプに次のようになります。 <?php if ($is_mobile == TRUE):?> <div class="fb-like-box" data-href="http://www.facebook.com/a page" data-width="710" data-height="600" data-show-faces="false" data-border-color="#73AA4B" data-stream="true" data-header="false"></div> <?php else: ?> <div class="fb-like-box" data-href="http://www.facebook.com/a page" data-width="900" data-height="600" data-show-faces="false" data-border-color="#73AA4B" data-stream="true" data-header="false"></div> <?php endif; ?> エラーメッセージが表示されます。 通知:未定義の変数:eval()のis_mobile(D:\ websites \ modules \ php \ php.module(80)の1行目:eval()のコード)。 私はある程度理解しています-Drupalシステムから変数を取得しようとしていますが、これを行う方法はありますか?たぶんトークンを使用していますか?
9 theming 

6
ユーザーがFacebookアカウントに登録できるようにするにはどうすればよいですか?
Drupalのコアサインアップシステムを使用してサインアップするか、Facebookアカウントを使用して登録するかを訪問者に選択させたい。 私はいくつかのFacebook関連のモジュールを見ましたが、それは少し混乱し、どちらを使用するかを決めることができませんでした(私はFacebookを自分で使用していないので、それは役に立たないと思います)。 通常の登録ユーザーとFacebookアカウントを使用してサインアップしたユーザーの違いは何ですか? Drupalは自分のメールにアクセスできますか?


2
ビューが公開されたフィルターの自動送信がフォーカスを失う
ajaxを有効にしてビューをセットアップしました。また、ユーザーがテキストフィールドに入力するとビューが自動的に更新されるように、自動送信をオンにした公開フィルターを追加しました。問題は、フォームが自動送信すると、テキストボックスがフォーカスを失うことです。 公開されたフォームを別のブロックに分離する必要があることを読みましたが、私のビューはブロック自体であるため、このオプションは使用できません。 入力を続けるためにテキストボックスをクリックし続けるのは大変な苦痛なので、どんな助けでもありがたいです。
9 7  ajax  views 

1
`drush features-update`はどのように機能しますか?
Drupal 7サイトのフィーチャーに変更を加えました。同じ機能を別のWebサイトで更新したい。drush features-updateコマンドを使用してそれを行う方法?実行すると、以前のフィーチャーを上書きするように求められますが、フィーチャーには新しいものはありません。
9 7  drush  features 

3
プロジェクトの要件をdrupalの概念に変換する
私はクライアント用のウェブサイトを構築していますが、Drupalには選択肢が豊富にあるため、Drupalが最良の選択だと思いました。しかし、この膨大な選択肢により、私の仕事は非常に困難になりました。問題を説明しましょう。 クライアントが特定の製品を販売しているとしましょう。すべてのVCRは特定のブランド(Sony、LGなど)で製造されています。すべてのブランドには、互いに類似したVCRのカテゴリもあります。したがって、製品(VCR)について説明する場合、基本的に次の情報を提供する必要があります。 ブランド(例:Sony)カテゴリ(例:FGX;これは一意ではないことに注意してください。別の会社が同じカテゴリ名を持っている可能性があります)モデル(例:4523x) また、ユーザーが特定のブランドやカテゴリをサブスクライブできるようにして、Sonyが新しいVCRをリリースした場合(またはSonyが特定のカテゴリの新しいVCRをリリースした場合)に通知されるようにします。 これらすべてをDrupalのコンセプトに変換することになると、私はそれを行うことができませんでした。その理由は、使用できるさまざまなパスがあり、どれが正しいパスかわからないためです。例えば: カテゴリはコンテンツタイプまたは分類用語ですか? ブランドはコンテンツタイプですか、分類用語ですか? モデルは明らかにコンテンツタイプですが、分類用語に一意に関連付けるにはどうすればよいですか(上記の質問に対する回答が「分類用語」であった場合)。 どのような場合でも、どのモジュールを使用する必要がありますか?「Relation」モジュールを確認したところ、必要な機能の一部が含まれているようです(「rules」モジュールとともに、特に通知部分について)。 PS:すべての生命の必要条件を羽状の概念に分解する方法を説明するリソース(ブログの投稿、記事、本、ビデオなど)について何か良い提案がある場合は、それらを共有できれば本当に嬉しいです。

3
Drupal 7 db_select()の条件文でSQL関数を使用する
変数との列比較を小文字で比較することを強制するSQL WHERE句に条件を書き込もうとしています。ただし、addExpression関数はこれを実行していません(式がフィールド句ではなく、where句に配置されているため)。 これが私が試したものです: $category = 'mobile wifi'; $query = db_select('taxonomy_term_data', 'ttd') ->fields('ttd', array('tid')); $query->innerJoin('taxonomy_vocabulary', 'tv', 'ttd.vid = tv.vid'); $query->addExpression("LOWER(ttd.name) = $category"); $result = $query->condition('machine_name', 'images_cat', '=') ->execute() ->fetchAssoc(); この: $category = 'mobile wifi'; $query = db_select('taxonomy_term_data', 'ttd') ->fields('ttd', array('tid')); $query->innerJoin('taxonomy_vocabulary', 'tv', 'ttd.vid = tv.vid'); $result = $query->condition('machine_name', 'images_cat', '=') ->condition('LOWER(ttd.name)', …
9 7  database 

3
hook_form_alter()で#statesを使用してCCKフィールドグループを非表示にしますか?
カスタムモジュールがあり、ドロップダウン選択リストで特定の項目が選択されているときに、「#states」を使用してCCKフィールドグループを非表示にしようとしています。 以下のように、hook_form_alter()内から状態を使用してみました。 $form['group_mygroup']['#states']['invisible'] = array( ':input[name="field_trigger[' . LANGUAGE_NONE. ']"]' => array( 'value' => 'hide' ), ); これは何もしないようです。 http://proofgroup.com/blog/2008/dec/modifying_cck_fieldgroups_hook_form_alterなどのさまざまなサイトに従って、モジュールの重みを変更することを検討しました。 しかし、まだ役に立たない。状態を使用してフィールドグループ内のすべてのフォーム要素を非表示にできますが、フィールドグループ自体は非表示にできません。誰かが何か考えを持っていますか?
9 7  javascript 

3
Drupal 7は、コンテキストフィルター(分類:要約表示)を表示し、term-idの代わりに読み取り可能なterm-nameを表示します
私の見解では、コンテキストフィルター(デフォルトの「サマリー出力」付き)を使用して、結果を分類用語でフィルタリングしています。 問題は、ということである要約結果は分類のリストによってグループ化された用語-IDの(ノード数を含む)とない人が読める用語-ID名。 1(21) 2(16) 等 term-idをリストするのではなく、term-id-nameをリストすることによって、要約のビュー出力を変更(またはフック)することは可能ですか? 用語名A(21) 用語名B(16) (実際のリクエストURLが変わらなくても問題ありません。) 私の目標は、エンドユーザーが理解できる、分類用語の概要のより読みやすい出力形式を作成することです。

2
hook_install()を使用してデータベーステーブルにデフォルト値を追加するにはどうすればよいですか?
いくつかのテーブルの独自のスキーマを持つカスタムモジュールを作成しています。モジュールが機能するためには、これらのテーブルにいくつかの値が事前に入力されている必要があります(デフォルトの場所、オプションの選択など)。 hook_install中にこれらのテーブルにデフォルト値を挿入するためのベストプラクティスの方法は何ですか? drupal_write_recordが利用できないため、db_queryを使用できますが、そうすることで基本的なルールに違反しないことを確認したいだけです。

3
node_saveを使用してノードを作成する方法は?
現在のHTMLサイトをDrupalに移行しようとしています。移行しなければならないページが8万枚以上あるので、50年間コンピューターの前に座るのではなく、モジュールを作成すると思いました。各ディレクトリからhtmlを抽出するスクリプトを作成できましたが、ノードを作成する必要があるロードブロックにたどり着きました。を使用して新しいノードを作成しようとしていますnode_save()が、node_saveを実行すると、PDOException試行したすべてのエラーが発生します。私はを渡していますが$node、これはオブジェクトにキャストされる配列です。 PDOException:field_sql_storage_field_storage_write()内(/srv/www/htdocs/modules/field/modules/field_sql_storage/field_sql_storage.moduleの424行目)。 これは現在ノードを作成している方法ですが、エラーが発生します。 $node= array( 'uid' => $user->uid, 'name' => $user->name, 'type' => 'page', 'language' => LANGUAGE_NONE, 'title' => $html['title'], 'status' => 1, 'promote' => 0, 'sticky' => 0, 'created' => (int)REQUEST_TIME, 'revision' => 0, 'comment' => '1', 'menu' => array( 'enabled' => 0, 'mlid' => 0, 'module' => 'menu', …
9 7  nodes  migration 

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