Drupal

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

2
hook_schema()でmysqlの日付または日付時刻フィールドを正しく実装する方法は?
データベースにテーブルを作成するためのスキーマ定義を含むmymodule.installファイルを作成しました。このテーブルには2つのデータフィールドが含まれます。これらのフィールドは、ユーザーが特定のコンテンツを入力するときに入力されます(例:ニュースの公開日を指定する)。今、私は意図的にDate寄贈されたモジュールを使用しませんでした。他の理由で、これら2つのフィールドがデータベーステーブルの同じ行にある必要がありました。 hook_schemaは、次のように2つのフィールドを定義します。 'pubblish_date' => array( 'description' => t('The pubblish date for the single news'), 'mysql_type' => 'datetime', 'not null' => FALSE, ), 'unpublish_date' => array( 'description' => t('The unpublish date for the single news'), 'mysql_type' => 'datetime', 'not null' => FALSE, ), テーブルはデータベースに正しく作成されますが、私は常にこれらのアドバイスメッセージを受け取ります: フィールドnews_board.pubblish_date:mysqlタイプdatetimeのスキーマタイプはありません。フィールドnews_board.unpublish_date:mysqlタイプdatetimeのスキーマタイプはありません。news_board.pubblish_date:スキーマタイプにタイプはありません:normal。フィールドnews_board.pubblish_date:typeのスキーマタイプはありません。news_board.unpublish_date:スキーマタイプにタイプはありません:normal。フィールドnews_board.unpublish_date:typeのスキーマタイプはありません。 私には奇妙に思えますが、mysqlデータベースにdatetime形式を保存するためにmysql_type仕様を使用するためにドキュメントを読みました。 Drupalはネイティブにタイムスタンプをサポートしているため、別の日付形式を保存する場合は、データベースyuoが使用しているmysql_typeやpgsql_typeなどの特定の定義を使用する必要があります。 議論の中で、多くの人がmysql_type定義を使用していて、私が見たところ、問題を解決したことがわかりました。 どうもありがとう。

5
キャッシュフォームテーブルのサイズは膨大です
キャッシュテーブルのサイズは先月10 GB以上に増加し、切り捨てて一時的に修正しました。前回確認したときは、約1GBでした。したがって、数か月後には再び10GBに達するでしょう。これはどのように対処する必要がありますか? このサイトですべてのcronジョブを無効にしていることに注意してください。これが理由である場合、どのcronを有効にする必要がありますか?
13 database  caching 

2
分類法で新しい用語(無料のタグ付け)を無効にする方法は?
オートコンプリートウィジェットを使用する形式の「用語参照」フィールドがあります。ユーザー入力をボキャブラリーの用語のみに制限し、ユーザーが既存の用語を入力しようとしたときにメッセージを出力したい。 コンテンツ分類モジュールを見つけました。ただし、これはフィールドコレクションまたはフィールドグループを含むフォームでは機能しません。 寄贈されたパッチ1078878-DisableAutoCreation-D7-UTF-8.patchもあります。しかし、モジュールのようなシンプルでクリーンなソリューションがあるのか​​、それとも最新のdrupalおよび分類法バージョンでそれを行う既存の方法を見逃したのではないかと思っていました。

5
ログインに5回失敗した後、自分の管理者アカウントのブロックを解除するにはどうすればよいですか?
間違った管理者パスワードを5回以上入力したため、Drupalが入力をブロックしました。 MySQLでユーザーパスワードを直接変更してからログインしようとしましたが、まだ機能しません。また、[新しいパスワードを要求する]リンクをクリックしても、電子メールが届きません。 アカウントのブロックを解除するにはどうすればよいですか?
13 users 

4
コンテンツタイプを複製する方法は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 ノードタイプのクローンを作成し、その中にいくつかのフィールドを追加します。最も簡単な方法は、複製して作業を開始することだと思います。 Drupal 7でコンテンツタイプを複製する公式な方法はないようです。機能により許可される場合がありますが、その方法について書かれた手順はありません。 Bundle Copyモジュールも試しました。 Drupal 7でコンテンツタイプを複製する最良の方法は何ですか?
13 7 

7
パンくずリストの内容を変更する
私はパンくずリストのリンクを変更するためにこのフックを使用しようとしています: hook_menu_breadcrumb_alter(&$active_trail, $item) フックは呼び出されていないようです。 私はもう試した : テーマでフックを使用する カスタムモジュールでフックを使用する(breadcrumb_finder_fix) Drushを使用してすべてのキャッシュをクリアする Develモジュールをインストールしてアクティブにしましたが、以下は出力を生成しません。 function breadcrumb_finder_fix_menu_breadcrumb_alter(&$active_trail, $item) { drupal_set_message(krumo($active_trail)); } 何か案は ?道順?お知らせ下さい。 OBS:この回答を読みました:https : //drupal.stackexchange.com/a/7659/12647
13 7  hooks  breadcrumbs 


3
画像をアップロードするときに画質を維持することは可能ですか?
Drupal7を介して画像をアップロードするときに画像品質を維持することは可能ですか? たとえば、私はこの画像を撮ります:http : //f.cl.ly/items/0L3j21030C3O2A3x2w0b/thumb.jpg 私は最小/最大解像度が設定されていないのImageFieldを使用して、それをアップロードし、それは次のようになります。 http://f.cl.ly/items/2B2q2a1H402T1Z1j3w2j/baboon-onesie-costume-thumb.jpeg そのため、すでに品質の低下が見られます。次に、画像を拡大縮小するビューを使用して表示され(IFを実行する必要があります)、190x280より大きく(これはそうではありません)、現在は http://f.cl.ly/items/2n023q1Q331J3E2d3a3I/ baboon-onesie-costume-thumb-1.jpeg 品質の違いは非常に大きく、画像のエッジの周りに色が大幅に失われ、アーティファクトが大量に作成されます。 GD画像の設定はJPEG品質:100%です。 このとんでもない品質の低下を防ぐためにできることはありますか?
13 7  media 

7
Drupal 7でmenu_rebuild関数を呼び出すにはどうすればよいですか?
menu_rebuild()関数を呼び出したいのですが、コードスニペットを正確に貼り付ける場所がわかりません。 ローカルインスタンスのどこにもupdate.phpファイルが見つかりません。 これを試してみたい理由は、すべてのノードを削除したからですが、それらはまだメニュー構造の下に表示されています。
13 routes  updating 

2
テーマではなくモジュールでビューテンプレートを保存する方法
現在、アクティブなテーマディレクトリに格納されているいくつかのビューテンプレートを作成しました。これらのテンプレートは、私のモジュールディレクトリに保存することをお勧めします。 私の質問は、これらのテーマファイル(views-view-field.tpl.phpなど)をモジュールディレクトリに持ち込んで、Viewsに表示させるにはどうすればよいですか? Viewsモジュールを見ると、デフォルトのテンプレートがビュー/テーマに保存されていることがわかりますが、どのように実装されているかわかりません。
13 views  theming 

4
特定のコンテンツタイプのすべてのノードをエクスポート/インポートする方法は?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 7か月前に閉鎖されました。 機能モジュールを使用して、コンテンツタイプの定義をサイトから別のサイトにエクスポート/インポートしました。次に、そのコンテンツタイプのすべてのノードをエクスポートし、他のサイトにインポートします。これどうやってするの?

3
Gitリポジトリと本番Webサイトを壊さずにDrupalコアをアップグレードするためのベストプラクティスは何ですか
すべてのコードがmasterブランチにあるGitリポジトリがあり、以前はすべてのDrupalファイルを無視していたので、自分が書いた(または変更した、または変更する可能性のある)コードとコードを厳密に分離していましたDrushなどで生成できます。 Drupalをアップグレードするまで、これは良い戦略のように思えました。物事がうまくいかなかった場合にロールバックできるようにしたいこと、そしてそれを行うためにGitよりも優れたツールを使用したいと思いました。私はこれが機能ブランチに最適な状況だと思ったので、drupal-7.14ブランチを作成し、.gitignoreすべてのコードと設定ファイルを無視し、Drupalインストールの一部であるファイルのみに注意を払うようにしましたtに触れる。手動でアップグレード(ダウンロード、解凍、解凍、コピー)を行い、robots.txtや.htaccessのような境界線のケースをソートし、Drupalの.gitignoreを自分で上書きしました。500エラーから回復するために、7.14では機能したが7.15では機能しなかった設定をいくつか修正したところ、すべてが完璧に見えました。ブランチの名前を変更drupal-7.15し、途中で幸せに行こうとしていました。 誤って行ったことに気付くまで:以前はマスターブランチで追跡されていなかったが作業ディレクトリに残っていたファイルは、追跡されていないファイルではなくなったため、マスターをチェックアウトすると作業ディレクトリから削除されました! ど! drupal-7.15ブランチをマスターにマージすると、コードの分離が失われます。 おそらくブランチをサブモジュールに変換する方法がいくつかあります。それが可能だと仮定すると、それが最良の戦略かもしれません。これを行う前に、サブモジュールが「正しい」ソリューションであることを知っていましたが、以前に追跡されていないファイルにブランチを使用することの副作用に気づかなかったため、角を切ってそのルートに進むことにしました。(また、Drupalでサブモジュールを使用する際に見たすべてのアプローチは、新しいプロジェクトを開始し、Drupalがマスターブランチになることを前提としています。他の人のコードをマスターブランチにすることは望ましくありません。マスターブランチを備えたレポ。これは、アップグレードを行うだけでは不必要に複雑になるように見えました。) 私が考えていない他の解決策があるかもしれません。 可能な限り少ない欠点でこれから回復するにはどうすればよいですか? 更新:これは開発中(私のラップトップ上のLinux VM)であり、まだ実稼働には至っていません。本番環境に移行する頃には、すべてを機能モジュールでラップする予定ですが、それはまだ整っていません。 更新2:サブモジュールが機能しない場合があります。Pro Gitによると、「サブモジュールを使用すると、Gitリポジトリを別のGitリポジトリのサブディレクトリとして保持できます」。Drupalはこのような素晴らしい分離を提供しません。すべてのDrupalコードがサブディレクトリにあるのではなく、関係は多かれ少なかれ逆になっていますが、.htaccessとrobots.txtを編集している可能性があるため、コードとDrupalリポジトリが混在しているため、明確な分離はまだありません。この問題の回避策を探しています。

4
ビューの未加工URLをフィールドとして取得するにはどうすればよいですか?
ビューでは、href値としてタイトルフィールドに提供される生のURL(リンクとして)またはContent:リンク値を返す必要があります。当初はContent:linkを選択し、書き換えでHTMLを削除できると考えていましたが、行かないでください。 フィールド書き換えのパラメーターとして渡すことができるように、完全なURLが必要です。これだけを取得する方法についての考えは?
13 7  views  entities 

3
クリック後に送信ボタンを無効にする方法は?
Drupalは、ノードページ上であっても、複数のフォーム送信を妨げないようです。このQAでは、サーバー側で修正することをお勧めします。 クリック後に送信ボタンを無効にするにはどうすればよいですか? 他のソリューションはありますか?
13 7  forms 

5
1つのエンティティの1つのフィールドから1つのエントリをプログラムで削除する
特定のエンティティから複数エントリフィールドの特定のフィールドエントリをプログラムで削除する適切な方法は何ですか?(つまり、フィールドタイプまたはインスタンスおよびエンティティタイプではなく、特定のフィールドおよび特定のエンティティです) 私が調べたいくつかの可能性がありますが、うまくいきません: でエンティティを読み込み、entity_load()フィールドエントリを= nullまたは= array()に設定してから保存しfield_attach_update()ます。これは私が見つけた最も近いものですが、データベースにゾンビnullフィールドエントリを残し、フォームが保存されて起動できるようになるまでhook_field_is_empty()(hook_field_is_empty()= nullまたは= array()がフラグを立てるように設定されるまで)フォームの空白行として表示されます空として)。 でエンティティをロードし、entity_load()キーでフィールドエントリを設定解除し、で保存しfield_attach_update()ます。これは何もしないようです-Drupalは、エントリが存在しないことを、変更しないためのサインとして解釈しているようです。(奇妙なことに、このアプローチを試みると、クエリ時間の有効期限が最大になることもあります) field_attach_delete() -これはあまりにも鈍い:エンティティのすべてのフィールドを殺す field_purge_data() -より良いが、それでも鈍い:特定のエントリではなく、フィールドのすべてのエントリを殺す そのため、明確にするために、複数のエントリを持つフィールドを持つエンティティを検索(およびロード)し、そのフィールドで削除する必要がある特定のエントリを検索するコードを用意しました。エンティティの他のエントリや他のフィールドに触れることなく、そのエントリを完全に削除したい。
13 7  entities 

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