さくらレンタルサーバ上のDrupalを更新する

概要 さくらレンタルサーバ上のDrupalを更新する機会がありましたので、手順のメモです。 まず、以下のサイトを参考にしました。 https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-drush ただし、以下のような記載がありました。 Use Composer to manage Drupal dependencies. Drush 9 and newer no longer supports updating Drupal. そこで、以下も参考にさせていただきました。 https://drupalfan.com/drupal10を最新版にアップデートする/ 手順 ! 間違った手順や不要な手順が含まれているかもしれませんので、参考程度ご確認ください。 Drupalをダウンロードしたディレクトリに移動 c d ~ / w w w / { p r o j e c t _ n a m e } 準備(インストール済みの場合は不要) composer composer.pharというファイルしかない場合、composerを作成する。(mvでもよいかと思います。) c p c o m p o s e r . p h a r c o m p o s e r drush c o m p o s e r r e q u i r e - d e v d r u s h / d r u s h メンテナンスモードの有効化 v e n d o r / b i n / d r u s h s t a t e - s e t s y s t e m . m a i n t e n a n c e _ m o d e 1 キャッシュのクリア v e n d o r / b i n / d r u s h c r バックアップ バックアップ用のディレクトリの作成 ...

2023年12月22日 · 3 分 · Nakamura

Drupalモジュール開発: 異体字を考慮した検索を行う

概要 Drupalを用いたシステム開発にあたり、異体字を考慮した検索を行う必要がありましたので、それを実現するためのカスタムモジュールを作成しました。(すでに同様のことを行うことができるモジュールがあるかもしれませんが、私のほうでは見つけることができませんでした。) 以下のリポジトリで公開しています。 https://github.com/nakamura196/Drupal-module-itaiji 使い方 設定 /admin/configにアクセスして、検索とメタデータの項目にあるItaijiのリンクをクリックします。 Conversion Rulesというフォームに、original1, original2 => convertedのような形式で変換ルールを入力します。 検索API search_apiモジュールを使って作成したインデックスのプロセッサーにアクセスします。 /admin/config/search/search-api/index/{INDEX_NAME}/processors Itaijiという項目を有効化します。 上記により、インデックス登録およびクエリの前処理として、変換ルールに基づいた変換が行われ、異体字を考慮した検索を行うことが可能になります。 注意点とまとめ Search APIのBackendとして、データベースを選択した場合でのみ、動作確認を行なっています。また、Drupalに関する開発経験が乏しいため、他の不具合を多々見られるかと思います。ご利用にあたっては、十分にご注意ください。 DrupalのSearch APIを使った検索システムの開発にあたり、参考になりましたら幸いです。

2023年12月21日 · 1 分 · Nakamura

drushのコマンドの備忘録

概要 Drupalのモジュールの開発において、使用頻度が高かったコマンドのメモです。 キャッシュのクリア d r u s h c r 翻訳ファイルのインポート 以下は、itaijiというモジュールの日本語ファイルをインポートしている例です。 d r u s h l o c a l e : i m p o r t j a / a p p / w e b / m o d u l e s / c u s t o m / D r u p a l - m o d u l e - i t a i j i / t r a n s l a t i o n s / i t a i j i . j a . p o モジュールの再インストール d r u s h p m - u n i n s t a l l i t a i j i & & d r u s h e n i t a i j i

2023年12月20日 · 1 分 · Nakamura

DrupalでJSON:API Search APIを使用する際のページネーションエラー

DrupalでJSON:API Search APIを使用していた際、page[limit]などをクエリパラメータを追加した際にエラーが発生しました。 https://www.drupal.org/project/jsonapi_search_api 具体的には、以下のエラーメッセージが表示されました。 Input value “page” contains a non-scalar value. 調べてみたところ、これは以下のIssuesでも言及されていました。 https://www.drupal.org/project/jsonapi_search_api/issues/3403107 Development version(開発版)の8.x-1.x-devでは修正済みということで、以下に差し替えました。 https://www.drupal.org/project/jsonapi_search_api/releases/8.x-1.x-dev 結果、エラーが解消しました。 開発版のモジュールを使用するか要検討ですが、同様の不具合でお困りの方の参考になりましたら幸いです。

2023年12月16日 · 1 分 · Nakamura

Drupal: Feeds Tamperモジュールを使った複数の値の登録とスキップ処理

概要 DrupalのFeedsモジュールを使って、以下のようなCSVの登録を試みました。 id title target xxx あああ 9600023 このように、一つのフィールドに複数の値を登録したい場合には、Feeds Tamperモジュールが使用できました。 https://www.drupal.org/project/feeds_tamper 以下の記事が参考になりました。 https://acret.jp/drupal/articles/456 以下のように設定することで、複数の値を一括登録できました。 ただし、以下のように、target列が空の行を含む場合、 id title target xxx あああ 以下に示すエラーが発生しました。 R e s p o n s e T e x t : T h e w e b s i t e e n c o u n t e r e d a n u n e x p e c t e d e r r o r . P l e a s e t r y a g a i n l a t e r . D r u p a l \ t a m p e r \ E x c e p t i o n \ T a m p e r E x c e p t i o n : I n p u t s h o u l d b e a s t r i n g . i n D r u p a l \ t a m p e r \ P l u g i n \ T a m p e r \ E x p l o d e - > t a m p e r ( ) ( l i n e 7 2 o f / b i t n a m i / d r u p a l / m o d u l e s / c o n t r i b / t a m p e r / s r c / P l u g i n / T a m p e r / E x p l o d e . p h p ) . 対処法 以下のように、「Skip tampers」を選択しました。 ...

2023年11月13日 · 2 分 · Nakamura

Drupal: UUIDを表示する

概要 以下のように、コンテンツのUUIDを表示する方法の備忘録です。 モジュールのインストール 以下のモジュールを使用しました。 https://www.drupal.org/project/uuid_extra 使い方 UUIDを表示したいコンテンツタイプの「Manage display」タブを選択し、以下のように、UUIDを移動させます。 まとめ 参考になりましたら幸いです。

2023年11月13日 · 1 分 · Nakamura

Drupalでフィールドの値を選択式にする

目的 以下のように、フィールドの値の入力方法を選択式にする方法について説明します。 以下、テキストの場合と、エンティティ参照の場合のそれぞれについて説明します。 テキストの場合 ageというフィールドを作成します。ここで「リスト(テキスト)」を選択します。 以下のように選択肢を入力します。 結果、以下のように、「選択リスト」形式でフィールドを編集できるようになります。 さらに、コンテンツタイプの一覧ページから、「フォームの表示管理」を押します。 /admin/structure/types そしてageフィールドのウィジェットを「チェックボックス/ラジオボタン」に変更してみます。 結果、以下のようにフォームが変化します。 エンティティ参照 エンティティ参照の場合も上記と同様です。例えば、以下の記事で作成したフィールドを対象にします。 「フォームの表示管理」から、ウィジェットを「チェックボックス/ラジオボタン」に変更します。すると、以下のように、フォームが変化します。 まとめ フォームの表示管理について、参考になりましたら幸いです。 参考 Drupal で値を管理する際にテキストのリスト形式を選択するか、Vocabulary (タクソノミー) を使うか、について問い合わせてみました。こちらも参考になりましたら幸いです。 GPT-4による回答 Drupal で値を管理する際にテキストのリスト形式を選択するか、Vocabulary (タクソノミー) を使うかは、実際の使用シナリオや要件によって変わります。以下は、それぞれの選択肢の特徴と利点、制限点を示しています。 テキストのリスト形式 利点: シンプルで簡単にセットアップできる。 小さな固定のリストに適している。 選択リストやチェックボックスなどの形式で簡単に表示できる。 制限点: 項目間の関係や階層構造を持たせることができない。 リストが大きくなると管理が難しくなる可能性がある。 Vocabulary (タクソノミー) 利点: 項目間の関係や階層構造を持たせることができる。 項目にメタデータや説明、関連画像などを追加できる。 大量の項目や動的に変わる項目を管理するのに適している。 拡張機能やモジュールとの統合が豊富。 制限点: セットアップや管理がテキストのリスト形式よりも複雑になる可能性がある。 どちらを選ぶべきか? リストのサイズと変動性 : 小さく、あまり変わらないリストの場合はテキストのリスト形式が適しています。一方、大きい、または頻繁に変わるリストの場合は、Vocabulary の方が適しています。 関連データの必要性 : 項目に追加の情報や属性が必要な場合、Vocabulary の使用が推奨されます。 階層性や関連性 : カテゴリのように項目間に階層や関連性が必要な場合、Vocabulary が適しています。 シンプルさ : 簡単にセットアップし、シンプルに保ちたい場合は、テキストのリスト形式が良いでしょう。 最終的には、プロジェクトの要件や将来の拡張性を考慮して、最適な選択を行うことが重要です。

2023年10月31日 · 1 分 · Nakamura

Drupalで他のコンテンツを参照する際に、IDとタイトルで探せるようにする

はじめに 例えば、Drupalで「組織」というコンテンツタイプを作成し、「東京大学」「京都大学」というコンテンツを作成します。 この時、Research Organization Registry (ROR)を使用して、以下のIDも登録したとします。 タイトル ID 東京大学 057zh3y96 京都大学 02kpeqv85 このコンテンツを他のコンテンツ(例えば、「研究者」コンテンツタイプ)からaffiliationフィールドを使って参照してみます。この時、以下のように大学と入力すると、登録済みの2件のコンテンツが表示されます。 一方、IDの一部である057などを入力しても、登録済みのコンテンツが表示されません。 そこで、本記事では、タイトルに加えて、他のフィールドでもコンテンツを探せるようにすることを目指します。 方法 ビューの作成 Drupalにログイン後、以下のURLにアクセスし、ビューを追加します。 /admin/structure/views/add ここでは、ビューの基本情報として、「組織」「organization」を与え、ビューの設定として、コンテンツのタイプを「組織」に限定しています。 次の画面に遷移後、まず以下のように「+追加」ボタンを押し、「エンティティ参照」を選択します。 以下のように、メッセージが表示されます。 ディスプレイ “エンティティ参照” が正しく動作するには、選択した検索フィールドが必要です。エンティティ参照リストのフォーマット設定を確認してください。 このメッセージに対応するには、フォーマット > フォーマット > 設定を押して、以下のように、検索フィールドにチェックを入れる必要がありました。 この結果、以下のように、タイトルが表示されます。 IDフィールドの追加 次に、IDフィールドを追加します。 フィールド > 追加 から、追加したいフィールド(ここではID)を追加します。 次に、フォーマット > フォーマット > 設定から、IDにもチェックを入れます。 結果、以下のように、タイトルとIDのペアで表示されるようになりました。 フィールド > 並び替え で順番を入れ替えてみます。 結果、以下のように、IDが先頭にくるようになりました。 IDの場合、昇順で並べるケースが考えられるため、ここでも並び順を変更してみます。具体的には、並び替え基準でIDフィールドを追加して、昇順にします。 また、デフォルトで登録済みであったコンテンツ: 投稿日時を削除します。 結果、以下のように、IDの昇順でエンティティ参照が並ぶようになりました。(ここでは、画面上は変化がありません。) そして「保存」ボタンを押して、設定を保存します。 フィールド管理への反映 作成したビューをフィールド管理に反映してみます。まず、以下のコンテンツタイプの一覧ページにアクセスします。 ...

2023年10月31日 · 1 分 · Nakamura

Drupal: APIを用いた`uid`フィールド更新時のエラー対応

DrupalのJSONAPIを用いてnodeのuidフィールドを更新しようとした際、以下のエラーが発生しました。 T h e c u r r e n t u s e r i s n o t a l l o w e d t o P A T C H t h e s e l e c t e d f i e l d ( u i d ) . T h e ' a d m i n i s t e r n o d e s ' p e r m i s s i o n i s r e q u i r e d . これについて、権限を変更することで解決できました。 ...

2023年10月26日 · 1 分 · Nakamura

Some resources have been omitted because of insufficient autho... への対応

DrupalのJSONAPIの利用において、以下のようなクエリで、fieldのIDから、field_nameを取得しようとしたところ、結果が0件になりました。 https://xxx/jsonapi/field_config/field_config?fields[field_config–field_config]=label%2Cfield_name&filter[name-filter][condition][path]=field_name&filter[name-filter][condition][operator]=IN&filter[name-filter][condition][value][1]=field_xxx1&filter[name-filter][condition][value][2]=field_xxx2&filter[name-filter][condition][value][3]=field_xxx3&filter[bundle]=yyy 返却された結果のmetaの項目に、権限の問題が記載されていました。 { } " } " " } j , d m , s a e o t t n " " } a a " } a v m " " o p e e : : m i r t i " s a " } [ { t " : i " l ] t d o : i , e e { n n d t " { k " } " a : s s : i " e l " : l { " 1 f " : . { " h 0 : r " " e S , { f o " m : e " r h e t s t o p u : r / c / e j s s o h n a a v p e i . b o e r e g n / f o o m r i m t a t t e / d 1 . b 0 e / c " a u s e o f i n s u f f i c i e n t a u t h o r i z a t i o n . " , そこで、以下の図にある通り、Field UIのコンテンツ: フィールドの管理の権限を変更したところ、上記の権限の問題を解決することができました。 ...

2023年10月26日 · 2 分 · Nakamura

Landoで構築したDrupalにdrushをインストールする

以下のサイトを参考に、Landoを使ってDrupalの開発環境を用意しました。 https://www.acquia.com/jp/blog/how-to-use-lando-for-building-drupal-local-environment そこにdrushをインストールするにあたり、以下が参考になりました。 https://docs.lando.dev/drupal/getting-started.html#quick-start 以下を実行することで、drushが使えるようになりました。 # l a I n n d s o t a c l o l m p a o s s e i r t e r e l q o u c i a r l e d d r r u u s s h h / d r u s h 他の方の参考になりましたら幸いです。

2023年9月28日 · 1 分 · Nakamura

Drupal 10.1.0以降でTwigのキャッシュを無効化する方法

以下に記載がありました。 https://www.drupal.org/docs/develop/development-tools/disable-caching#s-disabling-twig-caching-the-easy-way 以下にアクセスします。 /admin/config/development/settings 以下の画面でチェックを入れることで、キャッシュを無効化できました。 他の方の参考になりましたら幸いです。

2023年9月28日 · 1 分 · Nakamura

DrupalのViewsでURLで参照する画像を表示する

背景 次のように、Field typeをLinkとしたthumbnailというフィールドに画像のURLを入力する場合を想定します。 今回、いらすとやさんの以下の画像を利用させていただきます。 https://3.bp.blogspot.com/-HLe8mKu9lCs/Ugsu_AAFifI/AAAAAAAAXNI/-yW12EVgQ5s/s800/book_yoko.png このようなデータを、以下のようなViewsで表示するための備忘録です。 Views ViewsのRewrite resultsで以下のように設定しました。 < i m g s r c = " { { f i e l d _ t h u m b n a i l _ _ u r i } } " a l t = " I m a g e " Field typeをLinkとした場合、以下のようなReplacement patternsが必要なようでした。 ...

2023年9月5日 · 1 分 · Nakamura

DrupalでOpenAPIを有効にする

概要 DrupalでOpenAPIを有効にする機会がありましたので、その備忘録です。なお、以下のjson:apiモジュールを有効化済みです。 モジュールのインストール 以下の2つのモジュールをインストールします。 https://www.drupal.org/project/openapi https://www.drupal.org/project/openapi_jsonapi 結果、以下のURLで、jsonを取得することができます。 /openapi/jsonapi 以下にアクセスすると、「No UI …」と表示されます。次に、UIを追加してみます。 /admin/config/services/openapi UIの追加 以下の2つのモジュールをインストールします。 https://www.drupal.org/project/openapi_ui https://www.drupal.org/project/openapi_ui_redoc 結果、「Explore」のボタンが表示されます。 ボタンをクリックすると、以下の画面に遷移します。 /admin/config/services/openapi/redoc/jsonapi Swagger UIライクな画面が表示されます。 なお、Redocは、以下のように説明されていました。 Redoc is an open-source tool for generating documentation from OpenAPI (fka Swagger) definitions. https://github.com/Redocly/redoc 参考 以下の「Swagger UI for OpenAPI UI」についてもインストールしてみましたが、私の環境ではエラーが出てしまいました。 https://www.drupal.org/project/openapi_ui_swagger まとめ DrupalでOpenAPIを利用される際の参考になりましたら幸いです。

2023年6月14日 · 1 分 · Nakamura

DrupalのJSON:APIにおけるcorsエラーへの対応

概要 DrupalのJSON:APIによる出力結果を別のアプリから利用した際、corsエラーが発生しました。ここでは、corsエラーの改善方法について説明します。 対応 以下のファイルをコピーします。 /web/sites/default/default.services.yml c p / w e b / s i t e s / d e f a u l t / d e f a u l t . s e r v i c e s . y m l / w e b / s i t e s / d e f a u l t / s e r v i c e s . y m l そして、cors.configのenabledをtrueにします。 ...

2023年6月12日 · 2 分 · Nakamura

JSON:API関連のエラーへの対処方法

概要 JSON:API関連の以下のエラーが発生しました。このエラーに対する対処方法の備忘録です。 サ T D D D f D D D D c イ y r r r a r r r r a ト p u u u c u u u u l に e p p p e p p p p l 予 E a a a t a a a a _ 期 r l l l s l l l l u せ r \ \ \ _ \ \ \ \ s ぬ o j C C s C C s b e エ r s o o y o o y l r ラ : o r m s r r s o _ ー n e p t e e t c f が D a \ o e \ \ e k u 起 r p P n m E B m \ n こ u i l e _ x r \ B c り p _ u n b t e P l _ ま a s g t r e a l o a し l e i \ e n d u c r た \ a n P a s c g k r 。 j r \ l d i r i V a し s c F u c o u n i y ば o h a g r n m \ e ( ら n _ c i u b B w ) く a a t n m M l B た p p o \ b o B u ( っ i i r P _ d r c i L て _ _ y l a u e k l i か s f \ u l l a \ d n ら e a C g t e d S e e 再 a c o i e H c y r : 度 r e n n r a r s : お c t t M ( n u t : 1 試 h s a a ) d m e p 0 し _ \ i n l b m r 1 く a P n a ( e M B e ) だ p l e g L r a r R さ i u r e i - n e e い _ g F r n > a a n 。 f i a B e a g d d a n c a : l e c e c t s t r r r e f e 5 e - u ( t a r - 4 r > m ) s c y > 5 ( b b \ e - c ) ) u B P t > r i l l s c e ( l o u \ r a L d c g f e t i ( k i a a e n ) - n c t I e > \ e e n : ( b f t I s L u a _ n t 9 i i c s s a 4 n l e o t n ) e d t u a c : ( s r n e ) \ c c ( 7 f e e ) 2 ( a \ ( ) L c J ) ( i e s L n t o ( i e _ n L n : s A i e o p n : 1 u i e 7 r F : 2 1 c a 5 ) e c 8 1 \ e 3 ) J t ) s s o : n : A c p r i e F a a t c e e ( t ) s : ( : L _ i _ n c e o : n s 2 t 1 r ) u c t ( ) : A r g u m e n t # 6 ( $ i n d e x ) m u s t b e o f t y p e D r u p a l \ s e a r c h _ a p i \ I n d e x I n t e r f a c e , n u l l g i v e n , c a l l e d i n / h o m e / j - s o k e n / d r u p a l / w e b / m o d u l e s / c o n t r i b / j s o n a p i _ s e a r c h _ a p i / m o d u l e s / j s o n a p i _ s e a r c h _ a p i _ f a c e t s / s r c / P l u g i n / f a c e t s / f a c e t _ s o u r c e / J s o n A p i F a c e t s . p h p o n l i n e 6 1 i n D r u p a l \ j s o n a p i _ s e a r c h _ a p i _ f a c e t s \ P l u g i n \ f a c e t s \ f a c e t _ s o u r c e \ J s o n A p i F a c e t s - > _ _ c o n s t r u c t ( ) ( l i n e 4 8 o f m o d u l e s / c o n t r i b / j s o n a p i _ s e a r c h _ a p i / m o d u l e s / j s o n a p i _ s e a r c h _ a p i _ f a c e t s / s r c / P l u g i n / f a c e t s / f a c e t _ s o u r c e / J s o n A p i F a c e t s . p h p ) . 対処方法 まず、エラーの表示を有効にします。以下のファイルに追記します。 ...

2023年6月12日 · 8 分 · Nakamura

Disable UI: DrupalをヘッドレスCMSとして使う

DrupalをヘッドレスCMSとして使う機会があり、UIへのアクセスを管理者等に限定するDisable UIモジュールを試しました。 https://www.drupal.org/project/disable_ui 結果、トップページへのアクセス等は、以下のように表示されました。 一方、有効化したjson:apiなどについては、非ログインユーザもアクセスできました。 /jsonapi/ DrupalをヘッドレスCMSとして使用する際の参考になりましたら幸いです。

2023年6月9日 · 1 分 · Nakamura

DrupalのJSON:APIの使用方法(includeと多言語対応)

概要 DrupalのJSON:APIの使用方法に関する備忘録です。今回は、タクソノミーなどに対するincludeと多言語処理について記載します。 データ 以下のように、positionフィールドにタクソノミー「助教」を付与しています。 /node/5 また、コンテンツの多言語化を有効にしており、以下のように、タイトルとpositionの英語も表示されます。 /en/node/5 JSON:API 上記のコンテンツをコンテンツタイプ「faculty」に作成したので、以下のURLから、データの一覧を取得できます。 /jsonapi/node/faculty/ 以下は、linksフィールドを除く結果を表示しています。field_positionにタクソノミーのIDが含まれていますが、当該タクソノミーのラベル等はふくまれていません。 { } " } " ] j , d s " " } a { } o v m t n e e " } a " " " } " } a r t l " t i a , r p s a i " } : y d t " " " " " " " " " " " " " " " " } " e " } " } " } " } i i " n s p " t d d l r r s t c c p s d r c c p , b l n , r , u , f " o : k e " [ e : r r r a e e t i r h r t e e o o a " " " o a o " } e " } i " } i " } : n s l h " i u u n v v a t e a o i f v n n t a p l d t d d v d d d e d " { " f r : " b p p g i i t l a n m c a i t t h l i a y i e a " " " } i a " " " } " a " " " } l a " " " } { : : " e 5 u a a c s s u e t g o k u s e e " i d n " o _ t t i m s t t i m : t t i m d t t i m : f " 8 t l l o i i s " e e t y l i n n : a " g : n t a y d e " i a y d e " a y d e " _ a y d e " " { " n 6 e _ _ d o o " : d d e " t o t t s : c s y " p " t d o " p " t d { " p " t d p " p " t d 1 { : o e s i i e n n : " " " : _ n _ _ { " o n h p : e : a r n : e : a r : e : a r o : e : a r . d f " n n " _ _ " : : : l _ t t : n d u i e " " u _ " " u " " u s " " u 0 " e 1 : t t : t l t 中 f a t r r u e l p " { : " : p u { : " : p { : " : p i { : " : p " h - d e e i o r 村 " " t a n r a a n l " l s : 8 a i 0 a 0 a t 6 a , t - 9 { r r " m g u 覚 2 2 r l g a n n u l : " " 4 { l d " b { l " b { l i " c { l t f - n n j e " e " 0 0 u s c n s s l , : { n 1 _ " u 0 _ u 0 _ o t e _ p a b a a a s : , , 2 2 e e o s l l l " o 9 i : s 0 i s 0 i n a 4 i : c 6 l l " t 3 3 , , d l a a , j { d 6 n e 1 n e 1 n " x 5 n / u 8 _ _ , a n - - e a t t a e 2 t { r e t r e t : o 8 t / l 0 _ _ m u 0 0 " t i i " _ f e - 4 e - 4 e n e e j t - n v p l 6 6 : i o o t 7 r - d r - d r { o 8 r s y 4 i i " l - - o n n y - n u - n u - n m - n o " 1 d d : , 0 0 t n _ _ p 9 a s e a s e a y 6 a n , f " " 8 8 r _ s o e 1 l e d l e d l _ d l a 9 : : " T T u a o u - c _ r 2 _ r 2 _ t 7 _ p - 2 0 0 e f u t - 8 _ " 9 _ " 9 _ e 9 _ i b 5 1 0 0 1 , f r d n - t , - t , - t r - t . 5 , 3 2 : : e c a o 4 a 4 a 4 a m 4 a o 4 , 3 4 0 c e t d 7 r a r a r - e r r b - 4 1 t " e e a g 5 g 5 g - d g g - 0 : : e : d _ 1 e 3 e 3 e p 1 e / 7 6 1 2 d " t - t - t - t o - t f e - 5 6 " " : y b _ 9 _ 9 _ s 9 _ o b 0 + + : u p 3 i 6 i 6 i i 6 i r c 8 0 0 n f e 3 d 0 d 0 d t 5 d m d T 0 0 n d a " 5 " d " d " i 3 " a c 0 : : u " l , - : - : - : o - : t 9 1 0 0 l , s e 9 9 n 5 / d : 0 0 l e a " c 1 c 1 " e 5 1 1 0 " " , , 4 f d d , c . 5 1 , , 9 a c c 1 0 4 : 4 c c c 7 / f 4 e u 3 3 8 " " 3 f l d d 5 , + e t 3 3 6 0 4 y a a 8 0 6 " d d b : 7 7 7 7 0 c 0 0 a 0 " " " " " , , , , , includeを使う クエリに、?include=field_positionを追加します。結果、以下のように、includedフィールドが追加され、タクソノミータームのnameフィールドの値も得ることができました。 ...

2023年6月9日 · 21 分 · Nakamura

Drupal Key authを用いたコンテンツの登録と多言語対応

概要 以下の記事で、Basic認証を使ったPythonによるコンテンツ登録を行いました。 今回は、以下の記事を参考に、API Key Authenticationを試しました。 https://designkojo.com/post-drupal-using-jsonapi-vuejs-front-end API Key Authentication 以下のモジュールを使用しました。 https://www.drupal.org/project/key_auth ユーザの編集画面に「Key authentication」というタブが表示され、APIキーを生成できました。 APIキーを使用する場合には、以下のようなプログラムで実行することができました。 i e k h } p } r r m n e e a . p d y a y = j o p d l s r o = e ' ' " o " } r o t i r A C a a d e n n ' s c o p d a q ( r t { c n i t u ) e A = e t - = a " " } e q = P p e k " t a s u I { t n e { : y t t e ' キ ' t y p t s s h ー : - " { e r " " } . t t } T : " i t b p s t ' ' y : b i o o p a p k u t d s : p e e " t l y " " t / p ' y n e e " v f ( / l : o s " : a o e { i d " : l r n i c ' e : { u m d p a a - " e a p ア t p - { W " t o ド i p a h : " i レ o l r a : n ス n i t t " t / c i ' B " , o v a c s e p r n t l l h d i e u w a e ド . o " p a i a メ a n , t n d イ p / f e _ e ン i v r r t r 名 + n o . e s } j d m x = / s . M t h j o a P y " e s n p y a o ' i t f d n , + h r e a j o i r p s n e s i o " n , / n , d n ' s j o , . s d " o e , n / = a p r a t y i l c o l a e d ' ) 多言語対応における注意点 注意点として、翻訳データの作成はできないようでした。 ...

2023年6月9日 · 4 分 · Nakamura

DrupalでTypeError: array_keys()...への対処

graphqlモジュールで以下のエラーが発生しました。 The website encountered an unexpected error. Please try again later. TypeError: array_keys(): Argument #1 ($array) must be of type array, null given in array_keys() (line 40 of /bitnami/drupal/modules/contrib/graphql/graphql.install). そこで、以下の記事を参考に、ソースコードを修正しました。 https://www.drupal.org/project/google_tag/issues/3319621 具体的には、以下のように書き換えることで、エラーが解消しました。 $ n e $ g n o e t g i o a t t i i a o t n i o = n $ = l a $ n l g a u n a g g u e a T g y e p T e y s p - e > s g - e > t g ( e ' t n ( e ' g n o e t g i o a t t i i a o t n i ' o ) n ' ? ) ? ; [ ] ; 最新のバージョンでは修正されていると思いますが、同様のエラーでお困りの方の参考になりましたら幸いです。 ...

2023年4月24日 · 1 分 · Nakamura