Drupal

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

3
ビュー3.8:3つの列(祖父母、親、子)に分類階層を表示する
3レベルの階層を持つ分類法があり、ビューテーブルに3つのレベルを個別に表示したいと考えています。また、その分類法を使用してフィルターを公開し、ユーザーが用語を選択できるようにしたいと考えています。 これが私がやったことです: コンテキストフィルターが追加されました。 関係コンテンツを追加:識別子「term」を持つノードの分類用語 関係の分類用語を追加:識別子が「親」である親用語とその関係を「用語」として設定 コンテキストフィルター分類用語:親用語を追加し、「親」関係を選択 分類用語フィールドを追加しました この時点で、階層を1つの列に表示し、最下位レベルの子または3つすべて(たとえば、祖父母>親>子)から選択できます。ただし、祖父母、親、子を別々の列に表示できるようにしたいと考えています。 これは可能ですか?フィールドを3回追加して階層レベルを選択することを望んでいましたが、その方法がわかりません。

1
CSSとJSアグリゲーションはDrupalでどのように機能しますか?
DrupalがJSおよびCSSを最適化するように設定されている場合、パブリックファイルシステムのルートに「js」および「css」フォルダーが作成されます。集約されたJSとCSSはこれらのディレクトリに保存されます。Drupalがこれらのファイルを追跡する方法と、結果のページ要求をこれらのディレクトリ内の適用可能な集約ファイルと照合する方法を理解しようとしました。ファイル名は、たとえばリクエストURLに基​​づくハッシュですか? 現在、4つのWebサーバーがあるサイトで作業しています。すべてのWebサーバーには、パブリックファイルシステムとプライベートファイルシステムと同じストレージがマウントされています。1つのサーバーがページのCSSファイルとJSファイルを生成すると、他のサーバーはこれらの生成されたファイルを同一の要求にどのように利用しますか?

2
誰もログインできず、拒否されたメッセージにアクセスできません
このサイトは昨日まで機能していましたが、今は奇妙な動作をしています。 サイトには機能が作成されておらず、コードとデータベースを含むアーカイブダンプがサーバーにコピーされ、古いインストールは手動で(残念ながら)新しいものに置き換えられます。 今では、ローカルサーバーでも発生しています。 キャッシングモジュールがインストールされていません。セッションAPIもインストールされていません。 テーマは「7」に設定されています(念のため、コア管理テーマ)。 ウォッチドッグには、通常の「ユーザーxyzのために開かれたセッション」以外のエラー、警告、情報は含まれません。 設定ファイルには、特別なcookieディレクティブは含まれていません。それは決してしなかった。 サイトはphp 5.6、Apache 2.2、CentOS 6で実行されています。PHPはfast-cgiとして実行されています。いつもと同じ。 Drupal 7です。 example.com/user/loginに移動し、ユーザー名とパスワードを入力すると、フォームが正常に送信され、ページはexample.com/user/%uidにリダイレクトされます(uid 1と他のユーザーの両方が試されました)。そしてブーム!私が取得、アクセスが拒否されました。また、ユーザーはログインしていません。 どのセッションでtruncate table sessionsも、セッションテーブルを切り詰めると、一度だけログインできます。その後、uid 1でさえログインできなくなります。 また、パスワードリセットリンクを使用します(drush uli問題なくログインできるコマンドを使用します)。 すべての contribモジュールとテーマを無効にしましたが、同じ問題が解決しません。 セッションでそのような問題を引き起こしているものは何ですか?何か案は?
7 7  users  sessions 

1
カスタムモジュールの社内リポジトリを維持しますか?
コントリビュートされたモジュールに新しいバージョンがある場合は常に、Drupalのアップデートマネージャーは通知を表示し、アップデートの自動ダウンロードを許可します。その後、ユーザーは「update.php」を案内されます。カスタムモジュールに対して同じ自動処理を取得することは可能ですか? 特定のサイト用にいくつかのカスタムモジュールを開発する場合、自分でモジュールをホストしている指定のサーバー上で、Drupalに上記のカスタムモジュールの更新を検索させ、提供されたものと同様に扱うのは興味深いことです。モジュール。しかし、これは良い習慣に反するのでしょうか?
7 7  updating 

1
OR条件を使用してdb_updateの複数の条件を行う方法は?
ORデフォルトのAND条件の代わりに使用して、次のUpdateQueryステートメントを複数の条件で動作するように変換したいと思います。 db_update('system') ->fields(array('status' => 1)) ->condition('type', 'theme') ->condition('name', 'seven') // OR ->condition('name', 'rubik') ->execute(); それが可能だ?
7 7  database 

1
features_excludeは、機能情報ファイルで何を意味しますか?
この行は、機能モジュールの1つの* .infoファイルで見つかりました。 features_exclude[field_base][field_block] = field_block 私はこれに対処するdrupal.orgの問題をいくつか見つけましたが、意図された目的に関するドキュメントはありませんでした。 私の例のコンテキストは本当に重要ではありません。features_excludeキーの一般的な意味と影響についてお伺いします。
7 features 

4
コマースチェックアウトが完了する前にアカウント作成を強制する方法は?
現在、匿名ユーザーに最適な1ページのチェックアウトがあります。支払いが完了すると、「匿名注文用の新しいアカウントを作成する」チェックアウトルールでアカウントが作成されます。 次に、サブスクリプション製品をサイトに追加し、コマースライセンスとコマースライセンス請求を使用してロールを販売する必要があります。定期的な支払いを処理するために、Commerce Card on Fileを使用する予定です。 カード・オン・ファイルはカードを保存するために認証されたユーザーを必要とするため、これは問題を引き起こします。https://www.drupal.org/node/1553468を参照してください カードオンファイルがカードを適切に保存できるように、チェックアウトが完了する前にユーザーアカウントを作成するにはどうすればよいですか? 理想的には、チェックアウトの最初のステップとしてアカウント登録を強制するカスタムチェックアウトページがあり、サブスクリプション製品を購入するユーザーのみが対象です。 現時点では、訪問者がサイトに登録することは許可されていません(Commerce Checkoutを除く)。変更はしたくないです。
7 commerce 

1
Drupal 8と名前空間について
私は名前空間を初めて使用し、Drupal 8を使用しています。カスタムモジュールを作成し、contrib、develをインストールしました。 私のモジュール内で、私はブロックを定義しました、これが私のコードです: 名前空間Drupal \ twitter_pull \ Plugin \ Block; Drupal \ block \ BlockBaseを使用します。 / ** * PHPコードを実行するためのブロックを提供します。 * * @ブロック( * id = "twitter_pull_tweets_block"、 * admin_label = @Translation( "Twitterツイート") *) * / クラスTweetsBlockはBlockBaseを拡張します{ / ** *このブロックプラグインのレンダリング可能な配列を作成して返します。 * * @return配列 *ブロックのコンテンツを表すレンダリング可能な配列。 * * @Drupal \ block \ BlockViewBuilderを参照 * …
7 8 


1
LEFT JOINとdb_select()
左結合を実行しようとしていますが、機能しません。 2つのテーブルがあります。 TABLE profile - uid - pid TABLE field_data_field_naam - entity_id - field_naam_value field_naam_valuewhere uidが..にpid等しく、がに等しい場所を選択しますentity_id。私の通常のクエリは次のようになります: SELECT fdfm.field_naam_value, pf.uid FROM field_data_field_naam fdfm LEFT JOIN profile pf ON fdfm.entity_id=pf.pid WHERE pf.uid = 4 私のデータベースでこれを実行すると、機能します。それから私はこれを持っています: $naam = db_select('field_data_field_naam', 'fdfm') ->fields('fdfm', array('field_naam_value')); $naam->leftJoin('profile', 'pf', 'fdfm.entity_id = pf.pid'); $naam->condition('uid', 4) ->execute(); そして私が次のことをすると: foreach ($naam …
7 7  database 

1
エンティティメタデータラッパー、フィールドコレクション内のフィールドコレクションを取得
フィールドコレクション(多次元フィールドコンテンツ)のフィールドコレクションの値を取得(および設定)したい。 これは私のコードです: // The node is a custom content. // I get the list of first collections fields. $temp = field_collection_get($node,'field_top'); // Shows the structure you can see below in the screenshot. dpm($temp->value()[0]); // Now, I want to get the value of field_website_informations. // I've tried several ways but I …
7 entities 

1
ビューで利用できる「高度な」デバッグはありますか?
ビューがSQLプレビュー、さまざまなパフォーマンス統計、およびライブプレビューのために実行されたその他のSQLクエリを表示できることは知っています。もう少し骨に近いものを探しています。 ユースケース... さまざまなエンティティ/フィールドプロパティのカスタムハンドラーをいくつか作成しています(どのタイプでもかまいません。すべて非常に汎用的なものです)。これらのハンドラーをSearch APIビューのフィールドに適用しようとしていますがhook_views_data_alter()、フィールドハンドラーを実装して新しいハンドラーに変更する「標準」メソッドが機能していません。$data['commerce_product']['title'](たとえば)実際にはSearch APIビューが実際に使用するものではないため、エントリのハンドラーを置き換えても何も起こらないためと思います。 したがって、どのフィールドがどのハンドラーを使用しているか、そしてできれば、ビューが一方を選択し、もう一方を選択しない理由を理解するのに役立つ他の何かを知る必要があります。 理論的には、pre_renderフックなどのフィールド定義をループすることでこれを実行できることはわかっていますが、必要に応じてコードを記述/コピーする必要があるのではなく、解決策を用意しておきたいと思います時間。そのようなものが存在するべきだと感じ、まだ私はまだそれに出会っていません。 これに役立つビュー(具体的にはバージョン3)に含まれている、またはそれに追加できるものはありますか?
7 7  views  debugging 

1
カスタム列をユーザーテーブルに追加する正しい方法?
'updated'という名前の列をユーザーテーブルに直接追加しようとしています。 この場合、外部の制約のために、フィールドAPIと結合はオプションではありません。 user_schemaを安全に変更して、カスタムモジュールに「更新」列を追加し、モジュールが削除されたときに安全にクリーンアップするにはどうすればよいですか? 以下は、スキーマAPIに基づく「更新」列のレイアウトです。 $field = array( 'type' => 'int', 'not null' => TRUE, 'default' => 0, 'description' => 'Timestamp for last time user was updated.', ); 現在、hook_installを使用した私の試みは、期待どおりに機能していません。
7 7  database 

2
APCとMemcachedの違い、および両方をキャッシュビンに使用する方法
MemcachedとAPCの違いと、人々がどちらか一方または両方の使用について語る理由を理解しようとしています。完全に異なる役割を持っていると思ったので、なぜ両方を使用しないのか理解できません。これが私の理解です: APC これにより、PHPコードのチャンクがキャッシュされ、RAMに格納されます。次に、同じコードを再度実行する必要がある場合、そのコードはすでにキャッシュされており、メモリから高速で実行されます。 PHP-FPMを実行する私の特定のケースでは、これによりその負荷が軽減されます。 Memcached (2つのphpモジュールの違いは無視し、この目的のために同じものとして扱います) これはDBオブジェクトをキャッシュし、RAMに格納します。次に、drupalが同じデータベースオブジェクトを呼び出す必要がある場合、すべての情報はそこにあり、データベースに移動する必要はありません。 MySQLを実行する私の特定のケースでは、これによりその負荷が軽減されます。 Drupalキャッシュビン Drupal Stack Exchangeには、APCとmemcachedについて言及しているキャッシングとキャッシュビンに関する質問がたくさんあります。 でキャッシュビンのための最高の場所である場合は、Memcacheのが原因APCと安定性の問題をお勧めします。 であるがAPCは良いが実行されているとき、Memcachedのモジュールを使用して、任意のゲイン...、それのは、選択は個人の好みに降りてくると述べました。 ではAPC、ニスやMemcacheのではDrupal 7を使用して...それはそれらの両方を組み合わせることについて語っています。 このため、この分野で非常に有益な質問のいくつかは、Memcachedを使用することをお勧めします。他のいくつかの質問では、両方を導入することに大きな違いはないと述べています。 しかし、私はこれがどのように機能するか理解していません。完全に異なるものをキャッシュしていないのですか? よく使われるビューがあるとします。memcachedはビューに表示されるDBオブジェクトをキャッシュしていませんか?APCはそれらを呼び出すモジュールコードをキャッシュしていますか? 各Drupalキャッシュビンに使用できるキャッシュは1つだけなので、DBオブジェクトまたはPHPコードをキャッシュすることを選択できます。実際には、ほとんどのDrupalキャッシュビンは、2つのキャッシュのパフォーマンスの差がほとんどないか、大きすぎてすべてをキャッシュできません。 PHPでDBオブジェクトをキャッシュすることが唯一の合理的なオプションですか? (したがって、ほとんどの人がmemcacheをデフォルトのキャッシュビンオプションとして提案する理由、つまり$conf['cache_default_class'] = 'MemCacheDrupal';)
7 7  caching 

4
ビューを使用して作成されたテーブルにCSSクラスを追加する方法
ビューを使用して作成されたテーブルにcssクラスを追加したいのですが。カスタムテーマで「views-view-table.php」をオーバーライドしようとしましたが、うまくいかないようです。「views-view-table.php」で、行「<table <?php if ($classes) { print 'class="'. $classes . '" '; } ?><?php print $attributes; ?>>」を「<table class="responsive">」に置き換えてからキャッシュをクリアしましたが、機能しませんでした。誰でも助けることができます。前もって感謝します。
7 7  views  theming 

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