タグ

ブックマーク / www.studio-umi.jp (15)

  • コンテンツ、構成、セッション、状態の違い

    先日とあるプロジェクトで、「あるカスタムモジュールの処理が最後に実行された時間を記録する機能を実装してほしい」という要望がありました。 とりあえずやってみますとは言ってみたものの、どうやって保存するのが最適なのか、少し悩みました。直近の実行時間だけわかればいいので(つまりデータの数は常に1個なので)、わざわざDBにテーブルを作る必要はありません。かといってファイルに書き出すと、処理が行われるたびにgitに差分として出てしまいます。 いろいろ調べた結果、「モジュールの最終実行時間」はDrupalの「状態(State)」という種類のデータにあたるということがわかりました。この場合、State APIを使えば1〜2行のコードでDBのあらかじめ用意されたテーブルにデータを保存したり、取り出したりできます。今回はそれを利用して、簡単に最終実行時間を記録する機能を実装することができました。めでたしめで

    コンテンツ、構成、セッション、状態の違い
    plasma0713
    plasma0713 2023/10/12
    “「状態」とは、セッションとは関係なく一つの環境で一時的に保持しておきたい情報を保存するための形式です。一般的には「cronの最終実行時間」のように機械的にセットされる値に使われます。 保存された値はDBのkey_v
  • Drupal 8 Migrate APIを利用した画像とノードのマイグレーション

    2019年になってから、ありがたいことにたくさんのプロジェクトに参加させていただき、ようやく一段落ついたので久しぶりになってしまいましたがブログを書こうと思います。 前回はDrupal 8 Migrate APIを利用したD6データベースのマイグレーションというのを書かせて頂きました。 それ以降、Drupal 6からDrupal 8のマイグレーションだけでなく、Drupal以外のCMSからDrupal 8への移行、CSVファイルからDrupal 8へのコンテンツ登録などをMigrate APIを用いて実装させて頂きましたので、そこで学んだことをアウトプットの意味も込めてブログにさせて頂きます。 事前準備 今回はMigrate APIを用いてCSVインポートを行いたいと思います。 CSVファイルや画像を置く位置について特に決まりはなく、YAMLファイルの書き方で調整できるのでわかりやすいとこ

    plasma0713
    plasma0713 2020/10/08
    “このconstantsとはConstant valuesに記載されていますが、固定値を設定しています。”
  • Drupal 7 コアのフォームのフォーム ID まとめ

  • Drupal 8 で使える承認ワークフロー系モジュールのまとめ

    こんにちは。最近じゃ Drupal 8 の開発の方が楽しくなってきた大野です。最近では Drupal のお問い合わせを以前よりも多くいただくようになってきて、Drupal の認知度がますます増えて来た感じがします。 Drupal を使う上で承認ワークフローを実装する際、これまでは Workflow モジュールもしくは、Workbench Moderation モジュールを利用するのが一般的でしたが、Druapl 8.2 からは Drupal 体でワークフロー機能を提供することが決まりました。 Drupal の創始者である Dries さんの話によるとコンテンツの承認ワークフローの機能は、コンテンツ作成者から要求される機能のトップ10の内、3番目にニーズがあるそうです。 今回は Drupal 8 用で利用できる、3つの承認ワークフロー系モジュールの違いについてまとめてみました。 そもそも承

    Drupal 8 で使える承認ワークフロー系モジュールのまとめ
  • Drupal 7 の国際化・地域化・多言語化するためのモジュールまとめ

  • Entity translation | Drupal専門の開発会社 Studio Umi

    こんにちは。最近やっと大型案件が落ち着いて気づいたら年末な大野です。 最近では色々なウェブサイトで多言語化が望まれるようになってきましたね。弊社でいただくお問い合わせも多言語サイトでの案件が多くなってきています。 Drupal ではコアの Locale モジュールさえ有効にしてしまえば簡単な多言語サイトは作ってしまうことはできますが、細かい調整が必要なサイトの場合は様々な多言語化用のモジュールを入れて対応しなければなりません。

    Entity translation | Drupal専門の開発会社 Studio Umi
  • Drupal 開発に便利なツールを提供する Devel モジュール

    日は Drupal 開発には欠かせない定番モジュール、「 Devel 」モジュールのご紹介をしたいと思います。 Devel モジュールとは Devel モジュールとは、 Drupal のモジュール / テーマ開発に役立つ便利機能をまとめたモジュールです。 代表的な機能は、データベースクエリ、システムの状態、 PHP の変数の中身などをページ上に表示する機能です。 データベースクエリやシステムの状態などは管理画面から、 PHP 変数についてはコードを通して表示することが可能です。 他には、任意の PHP コードを実行できるテキストエリアのブロック、ユーザを手軽に切り替えられるブロックなども提供してくれます。 開発用、分析用のモジュールですので、通常の番サイト運用時には原則無効にしておくタイプのモジュールです。 Devel モジュールの使い方 ここからは Devel モジュールの実際の使い

  • 任意の PHP コードをコンテンツで実行できる PHP filter モジュール

    日は Drupal (ドルーパル)の「 PHP filter 」というモジュールをご紹介できればと思います。 PHP filter モジュールは Drupal のコンテンツ(=ノード)の文部分に生の PHP コードが書けるようになるモジュールです。 Drupal をセットアップすればデフォルトで用意されている Filtered HTML 、 Full HTML 、 Plain text などのフォーマットに加える形で、「 PHP code 」というフォーマットを提供してくれて、それを選択すると動作する PHP コードが書けるようになります。 Drupal 7 の場合はコアに含まれているため、 Drupal コアをセットアップすれば別途インストールする必要はありません。 管理画面もしくは Drush 経由で有効化するだけですぐに使いはじめることができます。 Drupal 8 の場合は、

  • Drupal 7 日本語化の方法

    最初から日語化用のモジュールが入った l10n_install を使ったインストール方法をこちらの記事で紹介しています。初心者のかたであればそちらの方が簡単です。 こんにちは。まだまだデベロッパーでありたいと願いながらも仕事の内容が遠ざかってきて悲しみを覚えている大野です。 今回はDrupal 7をサーバーへインストールしてからの最初のステップである日語化の方法について記事にしてみました。Drupalは標準でローカライズ機能が使えるようになっていますが、日語の翻訳ファイルは付属していないので、自分でインストールする必要があります。Drupalの日語化には色々な方法がありますが、今回は一般的な方法でのやり方を解説します。 Localeモジュールを有効にする まず初めに、日語化するにはDrupalに標準で入っているLocaleモジュールが必須ですので有効にします。 モジュールの設定画

  • Drupal 7 の Entity Metadata Wrapper の基本的な使い方

    こんにちは。スタジオ・ウミの大野です。もう今年も残すところわずかとなりましたね。スタジオ・ウミでは年末の締めに追われてヒーヒーいいながら毎日を過ごしてます。 さて、今回は Drupal Advent Calendar 2015 に参加させていただくことになりましたので、その18日目の記事として投稿します。皆様がリリースされたてホヤホヤの Drupal 8 の記事を書かれている最中、場の空気を読まずに Drupal 7 の Entity Metadata Wrapper を紹介する内容です! Entity Metadata Wrapper とは Entity Metadata Wrapper はご存知でしょうか。ひとことで言うとノードなどのエンティティをラッパークラスで包んで値の出し入れをメチャクチャ楽にする API です。日語の記事があまり無いようなので国内ではあまり使われていない感じで

    Drupal 7 の Entity Metadata Wrapper の基本的な使い方
  • Entity Field Query API の使い方

    こんにちはスタジオ・ウミの大野です。今年は滋賀県に来て11年目になるのですが、引っ越してきて以来初めて交通機関が止まるほど雪が積もるところを見なかった年になりました。暖冬ですね。通勤が楽なのは確かなんですが、何だかちょっと寂しい気分です。 さて、今回はエンティティの検索に便利な EntityFieldQuery API について解説したいと思います。EntityFieldQuery API は簡単に言うと SQL クエリーを用いないでエンティティのプロパティやフィールドからエンティティを抽出する ことができる仕組みです。Entity Field Query は Drupal のデータベース API とよく似た書き方をするため、この記事ではデータベース API を使った経験があるかたが対象です。 以下の内容は Drupal.org に投稿されている How to use EntityFiel

  • データベースに SELECT 文を発行する際の db_select() と db_query() の使い分け方

    こんにちは。 Drupal 8 での開発が一段落して Drupal 7 の世界に戻ってきた大野です。やっぱり慣れてると開発スピードが全然違いますね。 さて、今回はデータベースに SELECT 句を発行する際に使う db_query() と db_select() の使い分けについてのお話です。 皆さんはどのように使い分けているのでしょうか。 Drupal 7 では PDO が採用され db_select() が使えるようになったので、問答無用でそれを使うべきなのかと思っていたのですが調べてみたところそうでもなさそうです。 db_query と db_select 関数ののおさらい まずは簡単にそれぞれの関数について簡単におさらいしてみたいと思います。 任意の SQL 文を直に実行できる関数です。 node テーブルから任意のコンテンツタイプの nid 値を取得する場合はこんな感じで書きます

    データベースに SELECT 文を発行する際の db_select() と db_query() の使い分け方
    plasma0713
    plasma0713 2016/07/22
    おお、 db_select() と db_query() の違いが日本語でまとまっている。
  • Drupal 7 の $form_state についてのまとめ

    今回は Drupal 7 でフォーム機能を開発する上で欠かせない $form_state 変数について取り上げてみたいと思います。 今回は少しマニアックな技術者の方向けの内容になります。 /** * すごいフォームを生成する */ function mymodule_build_gorgeous_form($form, &$form_state) { // フォームフィールドを定義 } $form_state とは $form_state とは、フォームに関する一切の情報を格納した変数(連想配列)です。 $form 変数がフォームの「構築」に関する情報を格納するものであるのに対し、 $form_state はフォームのその他の情報をすべて格納したものです。 その中心的な役割は、ユーザがフォームを通じてサイトに送信した値を、一貫したフォーマットでプログラマに(ドメイン層のコードに)渡すことで

  • Composer で Drush をインストールする方法

    この記事は古くなっています。最新の Drush のインストール方法は 2020年版 Drush と Drush Launcher のインストール方法 をご覧ください。 日は Composer を使って Drupal のコマンドラインツール「 Drush 」をインストールする方法をご紹介できればと思います。 記事執筆時点(2014年09月)での Drupal の次期最新リリース「 Drupal 8 」では PHP の各種スタンダードが取り入れられる予定になっており、その一環でライブラリ管理ツールとして Composer が採用されています。 Drush も現在はさまざまなインストール方法を選択できますが、標準採用の流れに沿う形でゆくゆくは Composer でインストールするスタイルが主流になっていきそうです。 題に入る前に、記事の主役となる Drupal 、 Drush 、 Com

    Composer で Drush をインストールする方法
  • Drush コマンドリファレンス 日本語訳

    日は Drupal ドキュメント日語訳シリーズの一環として、格的な Drupal 開発には欠かせない Drush のコマンドリファレンスを翻訳してご紹介したいと思います。 いまここを読んでいる方の中に「 Drupal は知ってるけど Drush って何?」という方もいらっしゃいるでしょうか? 題に入る前に、そんな方のための「 Drush ひとこと解説」をかんたんにしてみたいと思います。 Drush とは Drush (多くの人が「ドラッシュ」と読みます)とは Drupal の各種操作をコマンドライン上で行えるいわゆる「 CLI ツール」です。 サイトのセットアップやキャッシュのクリア、設定の変更や cron の実行、データベース CLI の立ち上げなど、 Drupal サイトの開発に便利な操作をコマンドラインから実行する機能を提供しています。 他のフレームワークをご存知の方は Ru

    Drush コマンドリファレンス 日本語訳
  • 1