複数の商品ブロックで各カテゴリのタイトル出力する機能

SOY Shopに関する話題はこちら。

複数の商品ブロックで各カテゴリのタイトル出力する機能

投稿記事by polka on 2016年7月26日(火) 07:25

SOY SHOPのテンプレート「ナビゲーションページ」を使って、
商品ブロックを複数設定する場合、
それぞれのブロックのカテゴリタイトルを出力させることは可能でしょうか?


たとえば次のように
カテゴリA、カテゴリB、カテゴリCの
3つの商品ブロックを各設定するとして、


<h3>カテゴリAのタイトル</h3>
<ol>
<!-- block:id="category_a" -->
<li>カテゴリAの商品情報</li>
<!-- /block:id="category_a" -->
</ol>


<h3>カテゴリBのタイトル</h3>
<ol>
<!-- block:id="category_b" -->
<li>カテゴリBの商品情報</li>
<!-- /block:id="category_b" -->
</ol>


<h3>カテゴリCのタイトル</h3>
<ol>
<!-- block:id="category_c" -->
<li>カテゴリCの商品情報</li>
<!-- /block:id="category_c" -->
</ol>




次のような感じで出力させられないでしょうか?

<!-- block:id="category_a*" -->
<h3><!-- cms:id="title_plain" -->カテゴリAのタイトル<!-- /cms:id="title_plain" --></h3>
<!-- /block:id="category_a*" -->
<ol>
<!-- block:id="category_a" -->
<li>カテゴリAの商品情報</li>
<!-- /block:id="category_a" -->
</ol>


<!-- block:id="category_b*" -->
<h3><!-- cms:id="title_plain" -->カテゴリBのタイトル<!-- /cms:id="title_plain" --></h3>
<!-- /block:id="category_b*" -->
<ol>
<!-- block:id="category_b" -->
<li>カテゴリBの商品情報</li>
<!-- /block:id="category_b" -->
</ol>


<!-- block:id="category_c*" -->
<h3><!-- cms:id="title_plain" -->カテゴリCのタイトル<!-- /cms:id="title_plain" --></h3>
<!-- /block:id="category_c*" -->
<ol>
<!-- block:id="category_c" -->
<li>カテゴリCの商品情報</li>
<!-- /block:id="category_c" -->
</ol>




この要望の背景は、

あるサイトで複数の取り扱いブランドがあるのですが、
それぞれのブランドは、複数のシリーズを持っています。

カテゴリが一つ(つまり商品ブロックが一つ)であるなら、
パンくずを使ってタイトルを出力させることも考えましたが、

今回のように複数のカテゴリを設定する場合、
現状だと、ブランドの数だけナビゲーションページを用意する必要があるので、
できれば同じナビゲーションページを使い回ししたいことです。



ご検討よろしくお願い致します。
polka
 
記事: 203
登録日時: 2013年5月20日(月) 08:15
所在地: 大阪府泉大津市二田町1-20-30-2F

Re: 複数の商品ブロックで各カテゴリのタイトル出力する機能

投稿記事by inunosinsi on 2016年7月26日(火) 13:02

試していないのでなんとも言えませんが、
SOY CMSに入っている公開していない機能で対応できるかもしれません。

コード: 全て選択
<!-- block:id="category_a*" -->
<h3><!-- cms:id="title_plain" -->カテゴリAのタイトル<!-- /cms:id="title_plain" --></h3>
<!-- /block:id="category_a*" -->
<ol>
<!-- block:id="category_a" -->
<li>カテゴリAの商品情報</li>
<!-- /block:id="category_a" -->
</ol>


上記の様に書かれているHTMLを

コード: 全て選択
<!-- block:id="category_a*" -->
<!-- soy:id="at_first" -->
<h3><!-- cms:id="category_name" -->カテゴリAのタイトル<!-- /cms:id="category_name" --></h3>
<ol>
<!-- /soy:id="at_first" -->
<li>カテゴリAの商品情報</li>
<!-- soy:id="at_last" -->
</ol>
<!-- /soy:id="at_last" -->
<!-- /block:id="category_a" -->


簡単な解説をしておきますと、
block:id="***"内を繰り返す時、soy:id="at_first"で囲った箇所は繰り返しの最初のみ表示
soy:id="at_last"で囲った箇所は繰り返しの最後に表示されます
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 831
登録日時: 2008年6月12日(木) 20:48

Re: 複数の商品ブロックで各カテゴリのタイトル出力する機能

投稿記事by polka on 2016年7月26日(火) 17:32

inunosinsi様

いつもお世話になっております。

inunosinsi さんが書きました:試していないのでなんとも言えませんが、
SOY CMSに入っている公開していない機能で対応できるかもしれません。


できました! 3つの商品ブロックに各カテゴリータイトルを読み出せています。
隠し機能?とのことですが、他にも何か活用できそうです。
ありがとうございます!
polka
 
記事: 203
登録日時: 2013年5月20日(月) 08:15
所在地: 大阪府泉大津市二田町1-20-30-2F

Re: 複数の商品ブロックで各カテゴリのタイトル出力する機能

投稿記事by inunosinsi on 2016年7月27日(水) 05:16

soy:id="at_first"と今回は話題に挙がっていませんがsoy:id="not_first"というタグについての紹介記事を作成しました。
何かの参考になれば幸いです。
SOY CMS/Shopのブロックで最初とそれ以外のデータで表示を変えたい - saitodev.co
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 831
登録日時: 2008年6月12日(木) 20:48

Re: 複数の商品ブロックで各カテゴリのタイトル出力する機能

投稿記事by polka on 2016年7月27日(水) 09:26

inunosinsi さんが書きました:soy:id="at_first"と今回は話題に挙がっていませんがsoy:id="not_first"というタグについての紹介記事を作成しました。
何かの参考になれば幸いです。
SOY CMS/Shopのブロックで最初とそれ以外のデータで表示を変えたい - saitodev.co


記事を拝見しました。
soy:id="not_first"はおもしろいですね。

soy:id="at_first"とsoy:id="at_last"と組み合わせて使えば、
b_block:id="entry_list"で繰り返し出力させている記事の
一番上と下のレイアウトやスタイルを変えられると思うので、
見せ方の工夫、活用のしどころがありそうです。


それはそうと、同記事の中で書かれていたソースで、
次のような箇所があったのですが、
<p cms:id="content" cms:length="250">Content</p>

このcms:length=""は本文文字数制限の役割を果たすものなのでしょうね。
マニュアルにあったかもしれないですが、
今まで知らずにjavascriptを使って文字数制限していました^.^;
polka
 
記事: 203
登録日時: 2013年5月20日(月) 08:15
所在地: 大阪府泉大津市二田町1-20-30-2F

Re: 複数の商品ブロックで各カテゴリのタイトル出力する機能

投稿記事by inunosinsi on 2016年7月28日(木) 06:33

前回の続きで、soy:id="at_last"の方の紹介記事を投稿しました。
SOY CMS/Shopのブロックで最後とそれ以外のデータで表示を変えたい - saitodev.co
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 831
登録日時: 2008年6月12日(木) 20:48


Return to SOY Shop

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[3人]

cron