Drupal

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

1
同時編集を行う方法はありますか?
Drupal 7でテキスト本文の同時編集をサポートするMediaWikiのような方法はありますか? 現在機能が存在しない場合、仕事をすることができるDrupalモジュールでラップできるいくつかの適切なPHP diffライブラリは何ですか?
17 7 

1
ドメインアクセスでコンテンツを共有しますか?
ドメインアクセスを使用してサイトをセットアップします。2つのサブサイトがあります。メインサイトからサブサイトにコンテンツを公開したい。これはすでにアフィリエイトへの送信でうまく機能しています。ただし、サブサイトの一部のローカル管理者に、コンテンツを使用するかどうかを決定する権限を持たせてください。ドメインアクセスでも可能ですか、それとも上から下への片道だけですか?

3
Drupalが提供する管理ページを使用せずに一時ディレクトリを変更するにはどうすればよいですか?
ライブDrupal WebサイトをWindows localhost(XAMPP)に移動しましたが、「ファイルを作成できませんでした」というエラーが大量に発生しています。管理者としてサイトにログインすると、それ以上ページを返すことができません。ログインしないとエラーが表示されます。 インターフェイスからログインしたり、管理ページを使用したりせずに一時ファイルの場所を変更する方法はありますか?
17 files 


6
なぜコアをハックしないのですか?
このサイトでこの質問がまだ回答されていないとは信じられませんでしたが、検索しても見つけられなかったので... なぜコアをハックするのが自然に対するそのような悪い考えの犯罪ですか? コアバージョンをアップグレードできるのは本当に素晴らしいことですか?私のサイトのほとんどは、とにかく恐ろしく古くなったコアを持っていることになります。 たとえサイトの所有者にとって非常に悪いとしても、なぜコミュニティはそんなに気にかけているのでしょうか?なぜ「子猫を殺す」と呼ばれているのですか?むしろ双曲線ではありませんか? コアのハッキングはとても簡単です。問題を解決するための簡単なルートを取るのは好きではありませんか? コアをハッキングすることでしか解決できない問題はありませんか?じゃあ

3
Bean、Box、Fieldable Panelsペインの選択方法
Bean、Box、Fieldable Panelsペインはすべて同様の機能を提供します。それらの違いを正確に理解するのは困難です。 互いに比較した場合の利点/欠点は何ですか?それらは異なるユースケースに向けられていますか? Panelで何らかの種類のブロックを使用してカスタムコンテンツを追加したい-コンテンツエディターもコンテンツを追加できる必要があるため、必要なブロックは純粋な構成ではありません。しかし、私も機能を使用しています... 編集:主な違いと思われるものを追加します 箱 最大のユーザーベース(〜11500) ブロックを構成として扱います(つまり、コンテンツは機能に含まれます) 統合を提供するモジュール 豆 最近人気があり、〜1000インストール ブロックをコンテンツとして扱いますが、マシン名を介して(Beanパネルなどを介して)設定のエクスポートを許可します 統合を提供するモジュール Fieldable Panelsペイン 最小のユーザーベース(〜400) Panels / Views / etcの著者から。 ペインは、Beanやボックスなどのテーマ領域で通常のブロックとして使用できません(私は仮定します) ここで言及したBeanに対する利点は何だろうか(「コンテンツ管理者が特定のページをレイアウトするのを容易にする追加機能を提供する」)

2
カスタムキャッシュを実装するためのベストプラクティス
あらゆる種類のエンティティのすべてのインスタンスに対して、次のような名前のキャッシュを多数生成します。 [module_name]__[entity_type]__[entity_id]__[string_depending_on_where_the_cache_came_from] エンティティが更新されるたびに、関連するエンティティタイプとIDで始まるすべてのキャッシュを削除します。 これらのキャッシュを保存/消去するにはどうすればよいですか? 現在はcache_set()だけですが、関連するすべてのキャッシュの名前がわからないため、クリアしたいときに問題が発生します。db_delete()を使用してキャッシュエントリを削除しても安全ですか?
17 7  caching 

3
Product DisplayでProduct:imageフィールドの表示を直接管理しますか?
「製品」を表示する「製品表示」ノードがあります(Drupal Commerceモジュールを使用)。 Display Suiteモジュールをインストールし、「Product Display」コンテンツタイプの新しい表示モードを作成しました。 問題は、この新しいモードがデフォルトの表示モード「製品」に関連付けられていることであり、これを変更する方法はありません。 必要なのは、「製品」の新しいモードを作成し、この新しいモードに関連付けられた「製品表示」の表示モードを取得することです。 とにかくそれを行うにはありますか?

2
ノードタイプごとにhtml.tpl.phpをオーバーライドする
テーマのtemplate.phpファイルで、次のことを試しました。 function media_preprocess_page(&$vars, $hook) { if (isset($vars['node'])) { // If the node type is "blog" the template suggestion will be "html--blog.tpl.php". $vars['theme_hook_suggestions'][] = 'html__'.$vars['node']->type; // If the node type is "blog" the template suggestion will be "page--blog.tpl.php". $vars['theme_hook_suggestions'][] = 'page__'.$vars['node']->type; // If the node id is "33" the template suggestion …
17 7  theming 

4
サードパーティのPHPクラスベースライブラリのベストプラクティス
私は現在、サードパーティのPHPライブラリを必要とするモジュールに取り組んでいます。これは基本的に単一のPHPクラスです。通常、includes /サブディレクトリに配置して追加します files[] = includes/Foo.php .infoファイルに追加して、を実行するときにDrupal 7クラスのオートローダーにその処理を実行させ $foo = new Foo()ます。 ただし、このモジュールを公開する許可はありますが、ライブラリをモジュールに含めることは避けます。ライセンスに関する複雑さについてはよく知っていますが、この質問のために無視したいと思います。 同様の質問があります。PHPライブラリを含めるにはどうすればよいですか?、しかし、これが私のジレンマに答えるとは思わない。 この質問にこの答えは、基本的に使用するように言うライブラリAPIを、私は用途が、これは単にないことを発見したことを、すべて単一のモジュールlibraries_get_path()はBasePathを取得(そして、それは利用できない場合にフォールバックパスを含みます)し、その後、ないrequireまたはinclude一部とエラーチェック(またはそうでない)。すべてのような何かをします: if (!class_exists('Foo')) { $path = function_exists('libraries_get_path') ? libraries_get_path('foo') : 'sites/all/libraries/foo'; if (!include($path . '/Foo.php')) { // handle this error } } この場合、ライブラリAPIは実際には何もしていません。ユーザーにコピーをダウンロードしてモジュールフォルダー自体に配置するよう求める古い方法に比べて、これを使用する利点はありません。また、モジュール開発者が/ を使用して手動でロードを行う必要があるという問題がまだあります。たとえば、Facebookモジュールはライブラリをaにロードするだけで、HTML Purifierモジュールには、ライブラリが必要になるたびにチェックアンドロードする内部関数があります。includerequirehook_init これは広く行われているプラクティスかもしれませんが、ベストプラクティスとは思えません。 私のモジュールがイニシアチブを取り、hook_libraries_info使用できるように宣言する必要がありますlibraries_load('foo')か?これも奇妙に思えます。
17 7  theming 

5
有機グループのメンバーエンティティをプログラムでリストする方法
有機グループのメンバーエンティティのリストをプログラムで取得するにはどうすればよいですか? (Viewsを使用してグループメンバーのリストを取得する方法を知っています— Organic Groups APIを使用してこれを行うことを望みますが、適切なメソッドを見つけることができませんでした。)
17 7  organic-groups 

3
廃止された集約css / jsを処理/クリーンアップする方法は?
私はCSS / JS集約に組み込まれたDrupal 7のみを使用していますが、css.gzファイルとjs.gzファイルが存在するファイルフォルダーはかなり速いペースで満杯になります。ドライブが完全に一杯になり始める前に、状況を把握できるようになりました。 / jsの現在のファイル数は335です / cssの現在のファイル数は451です この状況に対処するために採用すべき標準的な方法はありますか?ループ内のdrupalを維持するソリューションが好きです。 さらに、多くのgzファイルには非gzファイルがあります。.cssファイルと.css.gzファイルの両方が保持される理由はありますか?多分退化? ありがとう


1
段階的な環境でモジュールを正しく削除する方法は?
一部のモジュールには、デルーチンルーチンがあります。通常、そのモジュールのデータベーステーブル、変数テーブルからの変数、およびそのモジュールによって導入されたロケールを削除します。これらのルーチンは.install、そのモジュールに存在します。 したがって、それらのモジュールが存在しないと実行できません。これが現在の手順です。私の質問は、これをより簡単に、より効果的に行うことができますか?foo_barモジュールを削除するとします。 RCSで、次の新しいリリースを準備します。 foo_barを使用または構築するすべてのcssおよびテーマオーバーライドは削除されます。 foo_barに依存するモジュールのすべてのcssおよびテーマオーバーライドは削除されます。 そのリリースを受け入れてください。運用データベースの最新のコピーを使用して、(admin / modulesからの)分散をテストします。 すべてうまくいけば、新しいコードベースを本番環境にデプロイし、foo_barとその依存関係をそこに配置します。これにより、さまざまなモジュールでアンインストールが呼び出され、データベースがクリーンアップされます。 RCS(git)で、コードが実際に削除される新しいリリースを準備します。 誤ってこれに依存していないかどうかをテストするために、それを受け入れます(一部のいモジュールまたはテーマ関数には、他のモジュールから直接ファイルが含まれます。特にCSS、JS、または画像ファイル)。 受け入れられたら、新しいリリースを実稼働環境にデプロイします。本番環境には、クリーンなデータベースとクリーンなコードベースがあります。 解決方法がわかりませんが、これには常に2つのリリースが必要です。Drupalでは、リリースにはサイトがオフラインである必要があるため、これは1つのモジュールを削除するために2回のダウンタイムを意味します。また、2つのリリース手順が必要です。これは、プロのホスティング環境では、非常に高価で、時間がかかり、イライラする可能性があります。 最初の反復でコードベースからモジュールを削除すると、アンインストールフックを実行できず、データベースに多くのリントが保持されます。いくつかのテーブルだけでなく、主に変数とロケール。モジュールをコードベースから削除しないと、コードベースが古くなった未使用のコードで成長することになります。これによりパフォーマンスのオーバーヘッドは発生しませんが、コードの維持はますます難しくなります。 これにどう対処しますか? [編集:展開が困難な手順であるという注意を追加、多くの場合]
17 nodes  deployment 

1
デフォルトのpage.tpl.phpをオーバーライドするにはどうすればよいですか?
D7Webサイトに1ページあり、他のページとは大きく異なります。このページでは、限られた数の領域のみを異なるレイアウトで表示します。 デフォルトを上書きする最良の方法は何page.tpl.phpですか?mycustom-page.tpl.phpサイト内の特定のURLでのみ呼び出される「」のようなものを作成できますか?
17 7  theming 

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