SlideShare a Scribd company logo
1 of 32
Drupal8でのCSVインポート
コンテンツ、タクソノミー、翻訳でのマイグレーション
コンテンツをCSVインポート
準備 モジュールのダウンロード
・Migrate Plus
・Migrate Tools
・Migrate Source CSV
・Configuration development
Drushを使用
コンテンツのCSVデータ例
YAMLの知識
キーとバリューをコロンで区切る
改行してインデントを付けると配
列になる
ハイフンで通常の配列、キーとバ
リューを設定すると連想配列
id: import_test
label: Importのテスト
source:
plugin: csv
header_row_count: 1
keys:
- id
process:
type:
plugin: default_value
default_value: 'article'
モジュールを作成 以下の構成でモジュールを作成
article_migrate
article_migrate.info.yml
config
import
migrate_plus.migration.article.yml
config/import/ディレクトリに
migrate_plus.migration.[id].ymlで
YAMLファイルを用意しておくと
モジュールインストール時に読み込ま
れます
モジュールを作成
article_migrate.info.yml
name: Article CSV Import
description: 記事のCSVインポーター
core: 8.x
type: module
package: Migration
dependencies:
- migrate_source_csv
以下の構成でモジュールを作成
article_migrate
article_migrate.info.yml
config
import
migrate_plus.migration.article.yml
config/importディレクトリ内のファ
イルが読み込まれる
CSVインポート用YAMLの構成
migrate_plus.migration.article.yml
id: article
label: 記事のCSVインポート
migration_group: articles
source:
process:
destination:
plugin: entity:node
ファイル名は
migrate_plus.migration.[id].ymlにす
る
IDとラベルを指定
migration_groupを指定すると複数の
インポートを一括で行える
source以下には基本的な情報
process以下にはフィールドの情報
destination以下にはエンティティの
情報を記述する
インポートの基本情報を記述する
source:
plugin: csv
header_row_count: 1
# path: public://csv/article.csv
path: /tmp/csv/article.csv
keys:
- ID
pluginにcsvを指定する
ヘッダーの行数を省くことができる
pathにインポートするCSVを指定す
る
サーバールートから指定したり、
drupalのファイルディレクトリを指
定したりできる
keysにプライマリーキーを指定する
ことで、重複を避ける(アップデー
トできる)
フィールド情報を記述する
process:
type:
plugin: default_value
default_value: article
title: title
status:
plugin: default_value
default_value: 1
'body/value': body
'body/summary': summary
コンテンツタイプ、タイトル等を設
定する
設定する値はCSVのラベルを使用す
る
default_valueプラグインでは、CSV
からではなく、任意の値を設定でき
る
完成系
id: article
label: 記事のCSVインポート
migration_group: articles
source:
plugin: csv
# path: public://csv/article.csv
path: /tmp/csv/article.csv
header_row_count: 1
keys:
- ID
process:
type:
plugin: default_value
default_value: article
title: title
status:
plugin: default_value
default_value: 1
'body/value': body
'body/summary': summary
destination:
plugin: entity:node
インポート モジュールをインストールすると
YAMLの設定が読み込まれる
drush en article_migrate
更新したい場合はcdiコマンドを使う
drush cdi article_migrate
mimコマンドでインポートを実行
グループでも実行できる
drush mim article
drush mim --group=articles
タクソノミーをCSVインポート
タクソノミのCSVデータ例
CSVインポート用YAMLの構成
migrate_plus.migration.tags.yml
id: tags
label: タグのCSVインポート
migration_group: articles
source:
process:
destination:
plugin: entity:taxonomy_term
新しいタグ用のファイルを作成
migration_groupはarticleの時と同じ
にする
destinationをタクソノミーのプラグ
インに変更する
インポートの基本情報を記述する
source:
plugin: csv
header_row_count: 1
# path: public://csv/tags.csv
path: /tmp/csv/tags.csv
keys:
- tag
基本コンテンツの時と同じ
タクソノミー用にcsvを書き換える
プライマリーキーはタグの名前にし
ておくと重複しないため、便利
フィールド情報を記述する
vid:
plugin: default_value
default_value: tags
name: tag
ボキャブラリーはvidでシステム名称
で設定できる
ターム名はnameで指定する
フィールドを設定している場合は、
フィールドも追加できる
インフォファイルにファイル情報を追加
article_migrate.info.yml
...
config_devel:
install:
- migrate_plus.migration.article
- migrate_plus.migration.tags
追加したmigrate_plus.migration.tags
ファイルの情報を追加
完成系
id: tags
label: タグ のCSVインポート
migration_group: articles
source:
plugin: csv
path: /tmp/csv/tags.csv
header_row_count: 1
keys:
- tag
process:
vid:
plugin: default_value
default_value: tags
name: tag
destination:
plugin: entity:taxonomy_term
記事にタクソノミーの情報を付け足す
process:
…
field_tags:
-
plugin: explode
source: tag
delimiter: '|'
-
plugin: callback
callback: trim
-
plugin: migration_lookup
migration: tags
記事用の
migrate_plus.migration.article.ymlを
書き換える
migration_lookupでtags(タグ用のイ
ンポーターのID)とリレーションす
る
記事にタクソノミーの情報を付け足す
migration_dependencies:
optional:
- tags
migration_dependenciesでtagsのマ
イグレーションを使用することを明
示する
完成系
id: tags
label: タグのCSVインポート
migration_group: articles
source:
…
process:
type:
plugin: default_value
default_value: article
title: title
status:
plugin: default_value
default_value: 1
'body/value': body
'body/summary': summary
field_tags:
-
plugin: explode
source: tag
delimiter: '|'
-
plugin: callback
callback: trim
-
plugin: migration_lookup
migration: tags
destination:
plugin: entity:node
migration_dependencies:
optional:
- tags
インポート YAMLファイルの設定を反映させる
drush cdi article_migrate
同じグループで設定していたため、
articlesグループとして一括でインポー
トができる
drush mim --group=articles
翻訳をCSVインポート
準備 モジュールのダウンロード
・Content Translation
以下のページでコンテンツ、
タクソノミーの翻訳機能を
ONにしておく
/admin/config/regional/cont
ent-language
CSVインポート用YAMLの構成
migrate_plus.migration.article_en.yml
id: article_en
label: 記事の翻訳のCSVインポート
migration_group: articles
destination:
plugin: entity:node
translations: true
migration_dependencies:
required:
- article
記事の翻訳用のYAMLファイルを用意
する
desticationではtranslationsをtrueに
設定する
migration_dependenciesで翻訳前の
インポーターを明示する
インポートの基本情報を記述する
source:
plugin: csv
header_row_count: 1
# path: public://csv/article.csv
path: /tmp/csv/article.csv
keys:
- ID
CSVファイルの設定等は翻訳前と同
じ
日本語と英語のデータが同じ行で対
応するようにする
フィールド情報を記述する
process:
nid:
plugin: migration_lookup
source: ID
migration: article
langcode:
plugin: default_value
default_value: en
title: title_en
'body/value': body_en
'body/summary': summary_en
nidの設定で翻訳前のデータとリレー
ションするように設定する
langcodeで翻訳する言語を設定する
翻訳するフィールドのみ設定する
完成系
id: article_en
label: 記事の翻訳CSVインポート
migration_group: articles
source:
plugin: csv
# path: public://csv/article.csv
path: /tmp/csv/article.csv
header_row_count: 1
keys:
- ID
process:
nid:
plugin: migration_lookup
source: ID
migration: article
langcode:
plugin: default_value
default_value: en
title: title_en
'body/value': body_en
'body/summary': summary_en
destination:
plugin: entity:node
translations: true
migration_dependencies:
required:
- article
タクソノミーの翻訳
同様に翻訳前とのリレーション、
翻訳する言語の設定、
destinationでtranslationを
Trueに設定する
id: tags_en
label: タグ の翻訳のCSVインポート
migration_group: articles
source:
plugin: csv
path: /tmp/csv/tags.csv
header_row_count: 1
keys:
- tag
process:
tid:
plugin: migration_lookup
migration: tags
source: tag
langcode:
plugin: default_value
default_value: en
name: tag_en
destination:
plugin: entity:taxonomy_term
translations: true
migration_dependencies:
required:
- tags
インフォファイルにファイル情報を追加
article_migrate.info.yml
...
config_devel:
install:
- migrate_plus.migration.article
- migrate_plus.migration.tags
- migrate_plus.migration.article_en
- migrate_plus.migration.tags_en
追加したファイルの情報を追加
インポート YAMLファイルの設定を反映させる
drush cdi article_migrate
今までと同様、articlesグループで一括
インポートする
drush mim --group=articles

More Related Content

What's hot

Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoTreasure Data, Inc.
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要kuroiwa
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)NTT DATA Technology & Innovation
 
コンテナのユースケース考察
コンテナのユースケース考察コンテナのユースケース考察
コンテナのユースケース考察Shuji Yamada
 
ツイートボタンから画像付きツイートをツイートさせる方法
ツイートボタンから画像付きツイートをツイートさせる方法ツイートボタンから画像付きツイートをツイートさせる方法
ツイートボタンから画像付きツイートをツイートさせる方法Akira Fukuoka
 
エンジニア必見!Sreへの第一歩
エンジニア必見!Sreへの第一歩エンジニア必見!Sreへの第一歩
エンジニア必見!Sreへの第一歩Takuya Tezuka
 
Share point における id管理と認証・認可
Share point における id管理と認証・認可Share point における id管理と認証・認可
Share point における id管理と認証・認可Naohiro Fujie
 
ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴mganeko
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)NTT DATA Technology & Innovation
 
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」y torazuka
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~apkiban
 
Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」Shuji Yamada
 
大人の分散レンダリング
大人の分散レンダリング大人の分散レンダリング
大人の分散レンダリングMonta Yashi
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
 

What's hot (20)

Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
Azure aws違い
Azure aws違いAzure aws違い
Azure aws違い
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
 
コンテナのユースケース考察
コンテナのユースケース考察コンテナのユースケース考察
コンテナのユースケース考察
 
ツイートボタンから画像付きツイートをツイートさせる方法
ツイートボタンから画像付きツイートをツイートさせる方法ツイートボタンから画像付きツイートをツイートさせる方法
ツイートボタンから画像付きツイートをツイートさせる方法
 
エンジニア必見!Sreへの第一歩
エンジニア必見!Sreへの第一歩エンジニア必見!Sreへの第一歩
エンジニア必見!Sreへの第一歩
 
Share point における id管理と認証・認可
Share point における id管理と認証・認可Share point における id管理と認証・認可
Share point における id管理と認証・認可
 
ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
 
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
 
Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
大人の分散レンダリング
大人の分散レンダリング大人の分散レンダリング
大人の分散レンダリング
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
 

Similar to Drupal8でのcsvインポート

20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01Yusuke Ando
 
Cocoa Pro5
Cocoa Pro5Cocoa Pro5
Cocoa Pro5hasegawa
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSAyumi Goto
 
Hybrid Cloud with Cisco Cloud Center and Object Storage
Hybrid Cloud with Cisco Cloud Center and Object StorageHybrid Cloud with Cisco Cloud Center and Object Storage
Hybrid Cloud with Cisco Cloud Center and Object StorageHisayoshi Kato
 
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugSpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugY Watanabe
 
Entity Framework 6.1.3 + Windows フォーム サンプル アプリケーション構築 手順書
Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書
Entity Framework 6.1.3 + Windows フォーム サンプル アプリケーション構築 手順書Masaki Takeda
 
WordPress基礎講座6 テーマの作成実習
WordPress基礎講座6 テーマの作成実習WordPress基礎講座6 テーマの作成実習
WordPress基礎講座6 テーマの作成実習Akinori Kawamitsu
 
PowerShell DSC と Linux
PowerShell DSC と LinuxPowerShell DSC と Linux
PowerShell DSC と LinuxKazuki Takai
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼうyouku
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌A AOKI
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniterYuya Matsushima
 
Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Hajime Fujimoto
 
Mvc conf session_2_shibamura
Mvc conf session_2_shibamuraMvc conf session_2_shibamura
Mvc conf session_2_shibamuraHiroshi Okunushi
 
PowerShellを使用したWindows Serverの管理
PowerShellを使用したWindows Serverの管理PowerShellを使用したWindows Serverの管理
PowerShellを使用したWindows Serverの管理junichi anno
 
WordPressのテーマ編集時に覚えておきたいID名やClass名
WordPressのテーマ編集時に覚えておきたいID名やClass名WordPressのテーマ編集時に覚えておきたいID名やClass名
WordPressのテーマ編集時に覚えておきたいID名やClass名tamotsu toyoda
 
Word press 3.5RC2 - パーフェクト functions.php -
Word press 3.5RC2   - パーフェクト functions.php - Word press 3.5RC2   - パーフェクト functions.php -
Word press 3.5RC2 - パーフェクト functions.php - BREN
 

Similar to Drupal8でのcsvインポート (20)

sveltekit-ja.pdf
sveltekit-ja.pdfsveltekit-ja.pdf
sveltekit-ja.pdf
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
Cocoa Pro5
Cocoa Pro5Cocoa Pro5
Cocoa Pro5
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
Hybrid Cloud with Cisco Cloud Center and Object Storage
Hybrid Cloud with Cisco Cloud Center and Object StorageHybrid Cloud with Cisco Cloud Center and Object Storage
Hybrid Cloud with Cisco Cloud Center and Object Storage
 
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugSpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
 
Entity Framework 6.1.3 + Windows フォーム サンプル アプリケーション構築 手順書
Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書
Entity Framework 6.1.3 + Windows フォーム サンプル アプリケーション構築 手順書
 
WordPress基礎講座6 テーマの作成実習
WordPress基礎講座6 テーマの作成実習WordPress基礎講座6 テーマの作成実習
WordPress基礎講座6 テーマの作成実習
 
PowerShell DSC と Linux
PowerShell DSC と LinuxPowerShell DSC と Linux
PowerShell DSC と Linux
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniter
 
Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本
 
Mvc conf session_2_shibamura
Mvc conf session_2_shibamuraMvc conf session_2_shibamura
Mvc conf session_2_shibamura
 
Touch the mahout
Touch the mahoutTouch the mahout
Touch the mahout
 
PowerShellを使用したWindows Serverの管理
PowerShellを使用したWindows Serverの管理PowerShellを使用したWindows Serverの管理
PowerShellを使用したWindows Serverの管理
 
Vue入門
Vue入門Vue入門
Vue入門
 
20050903
2005090320050903
20050903
 
WordPressのテーマ編集時に覚えておきたいID名やClass名
WordPressのテーマ編集時に覚えておきたいID名やClass名WordPressのテーマ編集時に覚えておきたいID名やClass名
WordPressのテーマ編集時に覚えておきたいID名やClass名
 
Word press 3.5RC2 - パーフェクト functions.php -
Word press 3.5RC2   - パーフェクト functions.php - Word press 3.5RC2   - パーフェクト functions.php -
Word press 3.5RC2 - パーフェクト functions.php -
 

Drupal8でのcsvインポート