Drupal

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

2
Drupal 7でロゴパスを取得する方法
私はカスタムロゴを持っており、この方法theme_get_setting('logo_path')で彼のパスを取得しようとしましたが、期待される結果は得られませんでした。 入力ブロックのカスタムブロックでコードを使用しています。

3
ビュー3とHTML5-マークアップの出力をオーバーライドする方法は?
特定の分類用語に基づいてブログ投稿を選択し、サイトのフロントページに埋め込んだ一種の「注目の投稿」ビューを作成するために作成したビューがあります。私が引き続き直面している問題は、ビューを出力して、各投稿が新しいHTMLの一部を使用して意味的にマークアップされるようにすることです。組み込みの「このフィールドの出力を書き換える」を試しましたが、使用するタグ(つまり、記事、ヘッダー、フッター)は無視され、プレースホルダータグの選択を解除しても、すべてがdivにラップされます。 オーバーライドするビューを作成します--view_name.tpl.phpを作成して、ビューに表示される各投稿の出力を書き換えますか、または出力に影響を与えるためにtemplate.phpでプリプロセスフックを使用する必要がありますか? 私は、PHPとプリプロセスフックの記述に関する基本的な経験があることを述べなければなりませんが、正しい方向を指し示していれば、リンクを下に移動するために必要なリソースがあればそれを使用できます。
7 7  theming  views 

6
既存のサーバーファイルをファイルフィールドに添付
Drupal 7では、ファイルフィールドに既存のファイルパスをどのように設定しますか?表示される唯一のオプションは、ファイルを再度アップロードすることです。 Drupal 6では、FileField Sourcesがこれを行うようです。 DOES FileFieldにパスまたはIMCEファイルフィールドと一緒には、サーバーのファイルの割り当てを許可しますか? プログラムでファイルフィールドを管理するAPIはありますか? 編集 これはすべてメディアモジュールで実行できることを発見しました。mediaelementもインストールされています。しかし、それは完全に直感的ではないので、ここに私が取った手順があります: メディアライブラリへのインポート: /admin/content/media/import mediafile assetフィールドを作成します。これにより、ライブラリからアタッチできます。 表示形式(オーディオの例)は、/admin/config/media/types/manage/audio/display/「大」、「小」、「プレビュー」などのみを提供するコンテンツタイプ「管理表示」ではなく、にあります。
7 7  files 

4
ビューの最初のアイテムをカスタマイズする
私のホームページのブロックとして、出力しようとしています: <ul> <li><a><img><p>Node 1</p></a></li> <li><a>Node 2</a></li> <li><a>Node 3</a></li> <li><a>Node 4</a></li> </ul> ここで、各<li>はノード、および各ノードに接続されたCCKフィールドによって提供される画像/テキストを表します。 現在、ブロックビューを使用してノード2〜4を出力し、アタッチメントビューを使用して最初のノードを次のように表示しています:http : //www.agileapproach.com/blog-entry/the-views2-attachment-display 問題は、私の出力が次のようになることです。 <div class="attachment attachment-before"> <div class="view view-homepage-news .."> <div class="item-list"> <ul> <li class="views-row ..."> <a><img><p>Node 1</p></a> </li> </ul> </div> </div> <!-- /.view --> </div> <div class="item-list"> <ul> <li class="views-row ..."><a>Node 2</a></li> <li class="views-row ..."><a>Node 3</a></li> …
7 7  views  entities 

10
mysite.comに登録するDrupal 7スパマーの阻止
mysite.comに新しいDrupal 7サイトがあります(アドレスが変更されました)-フルコントロールのCentOS 5.5 Linuxマシン。 登録メール(Gmailアカウントを介して実行されます)を読むと、Drupalのスパマーがforum.mysite.comというアドレスを介して私のサイトを参照しているようです。subdomain.mysite.comへの要求はすべて、私のホスティング業者によってmysite.comにリダイレクトされるため、これはそれらに対して機能します。 誰かが同じパターンに気づいているか(一般的なスパマーツールの動作のように思われる)、どうしましたか?私はmod_rewriteを使用してforum.mysite.comへのアクセスをブロックすることを考えていますが、もっと良い方法はありますか?(forum.mysite.comへのアクセスを閉じると、そのスパマーツールがなくなるかどうかわかりません)。 また、httpd.confを何らかの方法で変更することも考えました。 NameVirtualHost 11.22.33.44:80 <VirtualHost 11.22.33.44:80> DocumentRoot /var/www/html/mysite.com ServerName mysite.com ServerAlias mysite.com *.mysite.com MollomまたはCaptchaモジュールについては質問していません。Drupal7ではまだ最新ではないようです。スパムユーザーは私のサイトにとってはそれほど大きな問題ではありません。フロントページにカードゲームが埋め込まれており、そのゲームをプレイしていないユーザーを削除するcronジョブがあるからです。
7 7 

3
フィールドを介してネストされたエンティティにアクセスするための安全でエレガントな方法
テーマ設定レイヤーでエンティティ値にアクセスするためのさまざまなアプローチを見てきました。以下のコードは、マジックメソッドを使用した簡単な例です。すべての値が設定されていることを前提としています-そのいずれかの部分がNULLを返す場合、私の経験ではエラーが発生します。 $value = $node->field_paragraph ->entity->field_media ->entity->field_file ->entity->field_text->value; ->hasFieldや->count()チェックなどの方法があり、テーマも色々あります。私は仕事を成し遂げることができますが、時々それは醜く感じます。開発者がエンティティ参照を安全かつエレガントにドリルスルーするために使用するコーディングパターンに興味があります。
7 8  theming  entities 

2
プラグインのパブリック静的関数create()とは何ですか?
プラグインクラスで引数を指定して関数public static function createに遭遇することがあります。 たとえば、ここhttps://www.sitepoint.com/tutorial-on-using-drupal-8-plugin-derivatives-effectively/ で確認できます。 public static function create(ContainerInterface $container, $base_plugin_id) { return new static( $container->get('entity.manager')->getStorage('node') ); } 明確にしていただけますか、機能は何ですか?それは何をすべきか、それはどこで使用されますか?

1
コンテキストフィルターによって評価されたURLから%20を削除するにはどうすればよいですか?
分類用語名に対して「URLからの未加工値」を評価するように設定されているコンテキストフィルターがあります。問題は、私の分類法の用語のいくつかが2〜3語の長さであることです。その結果、次のようなURLになります。 https://example.com/category/my%20taxonomy%20term 私が欲しいのは私のURLが: https://example.com/category/my-taxonomy-term(ただし、現在これは結果を返しません)。 「URLからの未処理値」設定を使用するビューコンテキストフィルターで%20の代わりにダッシュを使用する方法はありますか?
7 7  views 

1
プロファイルまたはモジュールのインストール中に、独自のインターフェース変換を自動的にインポートします
カスタムモジュールのtranslationsフォルダーにある.poファイルを使用して、プロファイルのインストール中にカスタムインターフェイスの翻訳をインポートしようとしています。実行後: drush locale-update && drush cr 私が得るすべては時々正確ではないコミュニティ翻訳です(私の.poファイルから翻訳はインポートされません)。 ローカルの.poファイルからのみ翻訳をインポートするにはどうすればよいですか? ありがとうございました。
7 8 



1
環境ごとの変数を処理する最良の方法
カスタムモジュールがあります。フォームを作成するのはFormBaseです。送信時に、値をAPIに投稿します。これはすべて機能します。しかし、ベースURL変数(複数のメソッドで使用されます)を変更して、ライブ以外の環境で別のURLを取得できるようにします。 これを行うDrupal 8の方法を理解したいと思います。 class EventSuggestionForm extends FormBase { // Needs to be different if not the live site... private $baseUrl = 'https://www.example.com'; private $apiUrl = '/api/v1/'; ... アドバイスはありますか?

3
ノードのステータスを更新するには?
Drupal 8 Webサイトにノードが存在する場合、JSONからのデータを使用して新しいノードを作成するか、既存のフィールドを更新します。したがって、メソッドを使用してノードを更新する場合、更新されたノードのノードIDと、このノードの値が変更されたフィールドのキーを配列に保存する必要があります。 更新が完了したら、このコンテンツタイプのすべてのノードを含むテーブルを印刷する必要があります。更新されたノードのフィールドは異なるスタイル(色、背景など)を持つ必要があります。 したがって、私の古いノードが body = "body1"ありdescription = "description 1"、新しいノードがbody = "body2"ありdescription = "description 1"、更新が完了したら、次のような出力を取得する必要があります。 次に例を示します。 $node = \Drupal\node\Entity\Node::load($nid); $node->set("body", 'New body text'); $node->set("description", 'New value'); $node->save(); なにか提案を? 注:$node->save();すべての更新された値が同じ場合に使用すると、何も変更されません(管理パネルのコンテンツのノードの日付は更新前と同じです)が、値が異なる場合、変更されたフィールドのノードID、キー、値のみを保存する必要がありますアレイ。
7 8  nodes  entities 


2
REST APIを介したログインについての理解
この記事を読んでいました。Drupal 8でREST APIを使用してログインする方法を教えてください。デフォルトでは、ユーザーがログインすると、Drupalはユーザー名とパスワードを検証します。ログイン後、ブラウザには作成されたセッションのCookieがあります。 REST APIを使用して、Drupal 8がユーザーが初めてログインするときにユーザーをどのように確認できますか?ログイン後、現在のログインをどのように確認しますか?
7 8 

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