質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

879閲覧

内容が似ているランディングページを複数作るときにどうすると効率が良いですか?

ma.sa

総合スコア11

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

3クリップ

投稿2018/01/03 16:03

現在、ある店舗のキャンペーン用のランディングページを作成しています。

今までは、一社だけで1ページ縦長のページを作っていたのですが、
今度各店舗(15店舗)も同じキャンペーンをするとのことで、
ほぼ同じ内容のページを作ってほしいと依頼を受けました。

レイアウトは全く同じでよいとのことですが、
掲載内容は各店舗で微妙に異なります。
具体的には
店舗名・住所・電話番号・商品価格(掲載商品は同じですが店舗ごとに違う)・キャンペーン期間です。
キャッチコピーや写真・商品スペックなど共通の部分が大半で、
かつ、同じレイアウトなので、できれば効率よく展開して作成したいと思いますが、
どのような方法があるのかが、わかりません。
かなり何度も細かい修正が入るので、メンテナンスも簡易にしたいです。
こういった場合は、どのように皆さんは作られているのでしょうか。
もしよろしかったら教えていただければ幸いです。
よろしくお願いいたします。

※先方の都合上、wordpressなどのCMSは導入できません。
※私はHTMLとCSSで簡単なページなら作れるのですが、javascriptは見よう見まねでしか設置できません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

CMSなしのHTMLとCSSとjavascriptsのみでの実装の前提でお答えします。(もし、使用が可能ならテンプレートエンジンなどを使うほうが早いと私を思います。)

店舗毎の固有情報(データセット)を用意しておきます。(全店舗分の情報をHTMLに書いておいてもいいですし、外部ファイルを利用してもかまいません。サンプルはHTMLに直接書いています。)

javascriptで読み込みURL等を判定し、URLによって上記のデータセットのどれを用いるかを選択するようにしておいて、読み込んだデータセットの変数をHTML内にJavascriptの変数で引き当ててHTMLへはめ込みます。

html

1<html> 2<head> 3<script> 4window.onload=function(){ 5 if(document.URL.match("/001")) { 6 var address1="東京都千代田区ほにゃらら" 7 var tenpo_mei="千代田店" 8 }else if(document.URL.match("/002")){ 9 var address1="東京都港区ほげほげ" 10 var tenpo_mei="港店" 11 } 12 document.getElementById("tenpo").value=tenpo_mei; 13 document.getElementById("address").value=address1; 14} 15</script> 16</head> 17<body> 18<textarea id="tenpo">ここが店舗名にさしかわる</textarea> 19<textarea id="address">ここが住所にさしかわる</textarea> 20</body> 21</html> 22

投稿2018/01/05 07:15

yag1kaz

総合スコア253

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma.sa

2018/01/17 08:48

具体的にコードもご提示いただきありがとうございます。大変助かりました。 コードを参考に作成してみたいと思います。
guest

0

環境導入の難易度は少々ありますが、同じようなレイアウトのものを複数作成する場合はejsと呼ばれるテンプレートエンジン使用するのがおすすめです。

店舗名や金額が異なるということであればその部分を変数にしておけば、管理も楽ですし、レイアウトの変更があっても1ファイル修正するだけで全てに適用されます。

投稿2018/01/05 06:33

sechao

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma.sa

2018/01/17 08:47

おすすめのテンプレートエンジンを教えていただきましてありがとうございました。 もう少しjavascriptの理解を深めることができたら次のステップとして考えたいと思います。
guest

0

javascriptをどのように使うかは仕様によると思いますが、基本的に通常のサイトと同じく、共通部分と変更部分とを明確にし、テンプレート化や各パーツ化して、CSSでクラス分けすれば良いのでは?

投稿2018/01/04 01:33

yoshinavi

総合スコア3523

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma.sa

2018/01/17 08:46

基本の考え方をご提示いただきありがとうございました。 参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問