Drupal

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

5
hook_menuの説明でt()を使用する必要がありますか?
私は常にこのようなhook_menusタイトルと説明にt()を使用しました: $items['some-path'] = array( 'title' => t('My Page Title'), 'description' => t('This is a description about what my page is for'), 'page callback' => 'profile_user_page', ); これは私にとって理にかなっているので、ユーザーは必要に応じてタイトルと説明を別の言語に翻訳できます。 ただし、DOのモジュールレビューに関するこのコメントは次のように述べています。 いいえ、それは間違っています。それを行わないでください。hook_menu()の記述では、t()を使用しないでください。 これの理由は何ですか?これは実際にベストプラクティスですか? また、これがtrueの場合、タイトルにもt()を使用しないでください。
11 7  i18n-l10n  routes 

2
ビューで単一のカスタムフィールド値を変更する方法は?
フィールドGlobal:Custom Textのビューがあり、リンクとして変更されています。他のフィールドの値に応じて、このリンクを生成するための置換トークンを変更したい。 これをhook_views_pre_renderで変更しようとしましたが、これを行う方法が見つかりません。 hook_views_post_renderには2つの配列があります。 $view->style_plugin->render_tokens $view->style_plugin->row_tokens これには、すべての行に対して生成されたリンクが含まれていますが、それらはpre_renderには存在せず、post_renderでの変更は機能しません。 また、template_preprocess_views_view_fieldsでこれを実行しようとしましたが、その特定のビューでは、この関数は起動しません(他のビューでは起動します)。その理由はわかりません。
11 7  views 

2
Webフォーム-Drupal 7から外部URLへの値の送信
私はDrupalでフォームを作成することを自称しています。Drupal 7のWebサイトでホストされているフォーム(webformモジュールを使用)があり、フォームの値を外部URLに送信する必要があります。私はしばらくこれを調査していて、webformモジュールを使用して、hook_form_alterとカスタム送信ハンドラー/関数(以下に貼り付けられたコード)を使用して外部送信するカスタムモジュールを作成しました。 次のページをガイドとして使用していますが、フォームを機能させることができません。https : //drupal.org/node/1357136 drupal_http_post()を使用して外部サイトに送信する:違う? 私が正しい軌道に乗っているかどうか誰かが私に知らせることができますか?どんなガイダンスも役に立ちます! <?php function webform_extra_form_alter(&$form, &$form_state, $form_id) { //only want form with nid 1171 to submit externally //Note that "webform_client_form_1171" means modify the Webform form for the node with NID "1171". Adjust to match whichever webform node's form you're modifying if($form_id == 'webform_client_form_1171') { $form['#action'] …
11 7  hooks  webforms  forms 

3
お問い合わせフォームのtextareaフィールドのmaxlengthを実際に設定する方法
コアモジュールの連絡フォームのtextareaメッセージを特定の文字数に制限する必要があります。 ここに事実があります Form APIは、textareaフィールドタイプにmaxlengthを設定することを許可しません[プレーンHTMLは許可します] MAXLENGTHのモジュールは、あなたが実際に最大長を設定することはできません。各コンテンツタイプのフィールド管理セクションで定義されているフィールドの最大長から最大長を取得します hook_element_infoを使用して新しいフォーム要素タイプを作成しても、textareaに追加できる保証はありません#maxlength。その上、私が成功した場合、コンタクトフォームモジュールを再度変更して、実際のメッセージテキストエリアフィールドを私のもので上書きする必要があります。 だから私はそれを単純明快に変更できますか? Webサイトのすべてのtextareaフィールドを変更する最良のアイデアは何ですか?
11 forms  emails 


5
hook_views_query_alter()を使用してwhere条件を変更する方法
ビュークエリのwhere条件を変更しようとしています。これまでは「order by」の変更に成功しましたが、where条件を変更する方法がわかりません。search_termを確認し、大文字であった場合は小文字に変換して、クエリで検索できるようにします。また、私の言語(ペルシア語)には、クエリを実行する前にそれらを置き換える必要があるいくつかの特殊文字があります。誰でも私がどこから始めればいいのか、どんなフックやviews_handlersを使うのを手伝ってくれる? <?php /** * Implementation of hook_views_query_alter * @param type $view * @param type $query */ function nashreneydev_views_query_alter(&$view, &$query) { //krumo($query); //krumo($view); if ($view->name == 'custom_search') { $search_term = $view->exposed_raw_input['combine']; **//$query->where[0]['conditions'][0]['field']= "?????";** $view->query->orderby[1]['field'] = "CASE node_type WHEN 'product_display' THEN 1 ELSE 2 END"; $view->query->orderby[1]['direction'] = "ASC"; $view->query->orderby[0]['field'] = "CASE …
11 7  views 

2
ユーザーがログインページにアクセスすることなく匿名チェックアウトを設定するにはどうすればよいですか?
Drupal Commerceカートにアイテムを追加した後、カートのレビューページにアクセスしました。次に、チェックアウトをクリックすると、ログインページが表示されます。ユーザーがログインする必要がなく、匿名でチェックアウトするだけの設定があります。また、サイトに既にアカウントをお持ちの場合は、メールに関連して注文がアカウントに追加されます。
11 7  commerce  users 

8
GitがDrushをインストールする唯一の方法ですか?
Linux CentOSシステムにDrushをインストールするための正しい方法を理解しようとするサークルに入ります。私はGitをセットアップしましたが、現時点ではDrushコードに貢献するつもりはないので、Gitを使用する必要があることは明白です。 一部の指示ではPEARを使用するように言われていますが、Drushプロジェクトページにアクセスすると、GitからDrush 6を入手するよう指示されています。チュートリアルでは、GitではなくデモのwgetとPEARを見つけました。また、Gitプロジェクトのページビューには、「コードの提供、バグの報告、または機能の要求にはGithubプロジェクトを使用する」とありますが、どれも当てはまりません。 経験豊富なDrupalistaが以下に答えてくれませんか? Ditを入手する唯一の方法はGitですか?PEARがまだ推奨されていた1年以上前に誰かが同様の質問をしました。 Gitを使用する場合、drushをWebサイトのディレクトリ内にインストールするべきではないことを読んだので、次のコマンドを呼び出すときにどのディレクトリに配置することをお勧めしますか? git clone --branch 7.x-5.x http://git.drupal.org/project/drush.git Drushの使用を楽しみにしています。ありがとう!
11 drush 

7
hook_views_query_alter()の `GROUP BY`が機能しないのはなぜですか?
私はViews 7.x-3.6を使用GROUP BYしhook_views_query_alter()ていますが、次のように句を変更してみました。 function mymodule_views_query_alter(&$view, &$query) { if ($view->name == "view_name"){ $query->add_groupby('field_name'); dpm($query); } } 私が見ると$query、句が正しく有効になっているが、SQLクエリは影響を受けません:句は表示されません。groupbyGROUP BY 私が最終的に行ったのは、Drupalコアフック(hook_query_alter())を使用することで、正常に機能しました。SQLが影響を受けています。 function mymodule_query_alter(QueryAlterableInterface $query) { $view_name = 'view_name'; if ($query->hasTag('views_' . $view_name)) { $query->groupBy('field_name'); } } 私hook_views_query_alter()が機能しない理由は何ですか?それを行うためのよりクリーンな方法があるかどうかと思います。
11 7  database  views 


3
アクセス拒否ページのカスタマイズ
ユーザーがログインしてそれらを表示する必要がある基本的なページがたくさんあります。サイトアクセス拒否ページをカスタマイズするにはどうすればよいですか?
11 7 

1
EntityFieldQueryは本当にこれは非効率ですか?
私はEntity APIの初心者ですが、それを解決しようとしています。私は、さまざまなフィールドが付加された多数のコンテンツタイプを使用するサイトで作業しています。派手なものは何もない。したがって、一連のエントリを取得したい場合、私は無知で、データベースを直接呼び出して、次のようなことをしています。 $query = db_select('node', 'n')->extend('PagerDefault'); $query->fields('n', array('nid')); $query->condition('n.type', 'my_content_type'); $query->leftJoin('field_data_field_user_role', 'role', 'n.nid = role.entity_id'); $query->condition('role.field_user_role_value', $some_value); $query->leftJoin('field_data_field_withdrawn_time', 'wt', 'n.nid = wt.entity_id'); $query->condition('wt.field_withdrawn_time_value', 0); $query->orderBy('n.created', 'desc'); $query->limit(10); $result = $the_questions->execute()->fetchCol(); (はい、私はおそらくこれらの行の束を単一の$the_questions->ステートメントに折りたたむことができます; plsは今のところそれを無視します。) EntityFieldQueryでこれを書き換えようとすると、次のようになります。 $query = new EntityFieldQuery(); $query ->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'my_content_type') ->fieldCondition('field_user_role', 'value', $some_value) ->fieldCondition('field_withdrawn_time', 'value', 0) ->propertyOrderBy('created', 'desc') …
11 7  database  entities 

1
drushでgit cloneを実行してモジュールのHEADバージョンをダウンロードするにはどうすればよいですか?
drupal.org gitリポジトリのモジュールのHEADバージョンを複製またはプルする方法はありますか? たとえば、私がDrupal 7を使用していて、Viewの最後のブランチが3の場合、次のようにします。 drush git-clone views 同等のものを達成するために: cd sites/all/modules/ git clone --recursive --branch 7.x-3.x http://git.drupal.org/project/views.git 理想的には、を使用しdrush git-clone views-3xて3.xブランチを明示的に複製する必要があります。 これは可能ですか、それとも夢ですか?これは開発に非常に役立ちます。

1
ビューを使用して、親からの分類の子の用語を表示する
これに対する解決策があるかもしれないと期待していますが、たくさんを検索した後、あまり希望はありません。現在、いくつかの記事に関連する用語があり、これらの用語は2〜3レベルの深さです。たとえば、「グリーン」という用語が含まれる記事が10件あるとします。 -Fruit --Apple ---Green ---Red 次に、特定の分類用語に関連付けられているすべての動画を、そのすべての子を含めてユーザーが表示できるようにしたいと考えています。したがって、ユーザーがwww.site.com/fruit/appleにアクセスすると、すべてのリンゴが表示されます(赤と緑の両方)。 ここに問題があります。子の用語に至るまでのすべての親の用語を各記事に割り当てた場合にのみ機能しますが、残念ながら、私のサイトの構築方法では、記事に関連付けられた最も深い用語が含まれるようにすることができます。 誰かが用語のすべての子を見て、それをビューに含めるビューを作成できるかどうか知っていますか?正しく説明していただければ幸いです。:) 例 ユーザーがwww.site.com/fruit/appleにアクセスすると、「緑」のみでタグ付けされた記事と「赤」でタグ付けされた記事のみが表示されます。 みんなありがとう! PS 階層選択がインストールされていますが、記事に親用語を割り当てることができないため、これは役に立ちません。だからそれはうまくいきません。

6
フルコンテンツビューで本文全体に要約(ティーザー)を表示する方法
次の「フルコンテンツ」レイアウトのように、タイトルの下の各記事の上部にティーザーを表示したいと思います。 題名 ティーザー(記事の要約) 画像 体 さらに、ティーザーには独自のフォーマットを設定する必要があります(たとえば、イタリックで大きなフォント) TPLファイルまたはコアファイルを編集せずにそれを行う方法は見つかりませんでした。 解決策は、新しいフィールド「article_teaser」をコンテンツタイプに追加し、表示を管理して「フルコンテンツ」ビューでレイアウトを取得することです。これは機能しますが、同じテキストを2回入力する必要があるため、入力コンテンツフォームにティーザーフィールドが2つあるのは望ましくありません。 フィールド本文を「テキスト」と「要約」の部分に分割できないようですが、どちらか一方しか表示できません。両方は表示できません。 それを行う方法(モジュール?)はありますか? (私の環境:Zen SubテーマのDrupal7。)
11 7  nodes  entities 

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