【開発コミュニティの人気Tipsをご紹介⑥】リンクを知っている人だけ閲覧できる商品を作ってみる
こんにちは、EC-CUBEエバンジェリスト 足立智広です。
EC-CUBEでは、ご利用者同士が問題解決方法を投稿・共有できる「開発コミュニティ」を開設し、多くの方にお使いいただいています。この連載では、開発コミュニティで話題のカスタマイズや、よく質問にあがる「これってどうやるの?」について解説を行っていきます。
※過去の記事はこちらからご覧いただけます。
- 【開発コミュニティの人気Tipsをご紹介①】「すぐに購入する」ボタンを追加してみる
- 【開発コミュニティの人気Tipsをご紹介②】EC-CUBEで会員制サイトを作ってみよう
- 【開発コミュニティの人気Tipsをご紹介③】コントローラ付きのブロックを追加してみよう
- 【開発コミュニティの人気Tipsをご紹介④】ログインブロックを作成してみよう
- 【開発コミュニティの人気Tipsをご紹介⑤】カートに入れるボタンを作ってみる
今回のテーマについて
今回は、リンクを知っている人だけ閲覧できる商品、のカスタマイズを紹介したいと思います。
商品の検索結果には表示されませんが、直接URLを入力すると、商品詳細画面が表示されます。
簡易的ではありますが、これにより、一部のお客様にだけ購入できる商品を作ることができます。
「システムに業務を合わせる」妥協は終わりにしませんか。複雑な要件も100%叶える、ベンダー依存のない自社専用EC基盤を。
自社要件を相談する
1. 仕様
本来はdtb_orderに表示用のカラムを追加して、そのカラムで制御する方が良いですが、今回は簡易的な実装のため、商品情報のショップ用メモ欄に“[隠し商品]”が登録されていれば制御するようにしてみます。
2. カスタマイズ
src/Eccube/Repository/ProductRepository.php の93行目付近に以下を追記します。
public function getQueryBuilderBySearchData($searchData)
{
$qb = $this->createQueryBuilder('p')
->andWhere('p.Status = 1');
// ★↓を追記
$qb->andWhere("p.note IS NULL OR p.note <> '[隠し商品]'");
// ★↑を追記
// category
$categoryJoin = false;
...
修正はこの1行だけです。
3. 動作確認
動作確認をしてみましょう。
商品編集画面で、パーコレータに[隠し商品]を入力します。
次に、商品一覧画面を表示します。
パーコレータが表示されていない状態です。
次は、直接URLを入力してアクセスしてみます。
パーコレータが表示されました。
最後に
リンクを知っている人だけ閲覧できる商品の作成については以上です!
変更したソースコードの差分は以下でご覧いただけます。ぜひ参考にしてみてください。
いかがでしたでしょうか?
開発コミュニティでは、「EC-CUBE」 をより快適で便利なものにしていくために、エンジニアの方はもちろんのこと、ショップ運営者の方、デザイナーの方など、 EC構築・運営に関わる多くの方々のご参加をお待ちしています。
「どうか教えてください!」「バグ見つけましたよ」「こんな機能あったらなぁ」といったテーマごとにスレッドが分かれていますので、気になるキーワードがあれば開発コミュニティへ訪れてみてください。
他の記事もご覧ください
-
「ECサイトとは?」「ECってどんな意味?」今さら聞けない素朴な疑問を分かりやすく説明!サイト制作や運営のポイントも詳しく解説します
ネット通販は私たちの暮らしにすっかり身近な存在となっていますが、皆さんは「ECサイト」というものについてどのくらい知っていますか?本稿ではECサイトの基本知識から成功するための実践的なポイント、おすすめのEC構築方法などを幅広く解説します。
-
EC(eコマース)とは?基礎知識からメリット・デメリット、成功戦略まで完全網羅
EC(eコマース)とは何の略?ネット通販との違いや仕組み、BtoB等のビジネスモデルを初心者向けに解説。メリット・デメリットや成功戦略を踏まえ、SaaS・スクラッチなど自社に最適なECサイト構築方法の選び方まで網羅した完全ガイドです。
-
ネットショッピング(オンラインショッピング)の仕組みとは?サイトの種類や歴史をプロが解説
ネットショッピング(オンラインショッピング)の仕組みや歴史、最新の利用率をプロが解説。ASPと構築型の違いや、2026年のトレンドであるAI・OMO活用事例まで網羅。これからショップを開業する方が知っておくべき「成功の正解」とは?
