自分で作成したウェブサイトにWhat’sNewを出そうと思いましたが、それを調べる過程で、ベースページの仕組みが分かってきたので先にそちらを確認。

1.自分で作成したウェブサイトのホームページをドキュメントルートにする

現在、元々のサンプルデータのウェブサイト http://example.com/magento/ と 自分で作成したウェブサイトhttp://example.com/aaa/ がある想定で、自分で作成したウェブサイトを http://example.com/aaa/ ではなく http://example.com/ にしようという話です。

これは新しいウェブサイトを表示できるようにしたのとやり方は同じで、店舗>設定>設定 の画面で、左上の「ストアビュー」を、自分で作成したウェブサイト(ストアビューではなくウェブサイト)に変更し、その状態で、左メニュー「Web」の「ベース URLs」等をhttp://example.com/にします。さらに、サーバにて

cd /opt/bitnami/apache2/htdocs/magento
cp .htaccess ..
cp index.php ..

cd ..
ln -s /opt/bitnami/apache2/htdocs/magento/app/ app
ln -s /opt/bitnami/apache2/htdocs/magento/lib/ lib
ln -s /opt/bitnami/apache2/htdocs/magento/pub/ pub
ln -s /opt/bitnami/apache2/htdocs/magento/var/ var

mv index.html xindex.html

とやって、index.phpをを同じように修正するだけです。サンプルウェブサイトも生きています。

2.店舗ページの作り方

そして、この下に、各店舗のページを作ろうと思います。

すなわち、ドキュメントルートは自分が作成するサービスのトップページにして、その中で複数店舗の商品を使うこととし、各店舗のページも作成する、ということです。

これも、同じようにやろうとしたらうまくいきませんでした。
PARAM_RUN_TYPEの設定値は、ウェブサイトの場合は「website」でしたが、店舗の場合は「store」とのことです。

ところが、その方法で、要するに店舗用ウェブサイトを作るようなイメージですが、元々のサンプルサイトにリダイレクトされてしまいます。

そこで、またSQLを解析しようと思いますが、今回は、昨日教えてもらった技を使います。

bin/magento dev:query-log:enable

これにより、実行ログを出力してくれます。
いちいちmy.cnf編集しなくて良いし、/opt/bitnami/ctlscript.sh restart mysql しなくてよい。
ただ、そのクエリの呼び出し元情報も含めて大量のログになるので、ちょっと醜いのですが、対処としては、
(Magentoインストール先配下の)var/debug/db.log を「SQL: 」でgrepします。

で、見てみたのですが、今回は空振りで、たいしたログは出ていませんでした。

ここで、ちょっと軌道修正。
http://example.com/shop_a
を見ようとしていたのですが、普通にページを作って、それを見ることにします。
そうすると、http://example.com/shop_a/new_page という形で表示される。
ここまでくれば、なるほどとなります。
new_pageをshop_a_homeのように作成し、このページの「ウェブサイトのページ」「ストアビュー」の指定を、店舗Aのストアビューではなく、自分のサイトのデフォルトのストアビューにすればよいのです。
これにより、http://example.com/shop_a_home  という形でそのページが表示されるようになるので、あとはここに内容を盛り込んでいけばよいということになります。

大分やりたい形に近づいてきました。

 

関連記事