【開発コミュニティの人気Tipsをご紹介⑥】リンクを知っている人だけ閲覧できる商品を作ってみる

#集客・販促・運営

EC-CUBE公式アドバイザーに
ご相談いただけます

まずは相談する

こんにちは、EC-CUBEエバンジェリスト 足立智広です。

EC-CUBEでは、ご利用者同士が問題解決方法を投稿・共有できる「開発コミュニティ」を開設し、多くの方にお使いいただいています。この連載では、開発コミュニティで話題のカスタマイズや、よく質問にあがる「これってどうやるの?」について解説を行っていきます。

※過去の記事はこちらからご覧いただけます。

今回のテーマについて

今回は、リンクを知っている人だけ閲覧できる商品、のカスタマイズを紹介したいと思います。
商品の検索結果には表示されませんが、直接URLを入力すると、商品詳細画面が表示されます。

簡易的ではありますが、これにより、一部のお客様にだけ購入できる商品を作ることができます。

EC-CUBE公式アドバイザーが、ツール選びからサイト制作、マーケティング・セキュリティの領域までアドバイスいたします。ご相談窓口はこちら

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-CUBE公式アドバイザーにご相談ください。

他の記事もご覧ください

記事一覧に戻る

EC-CUBE公式アドバイザー
ご相談窓口

  • 他社のASPやパッケージとの違いを知りたい
  • BtoCのサイトにBtoB機能を追加したい
  • 何から手をつければよいかわからない
  • 自社にマッチした制作会社を探したい
  • サイト制作だけでなく運営もサポートしてほしい

新規構築・リニューアル・取引先向けのWeb受発注システム(BtoB)や事業の拡大など、
今抱えている課題を解決する最適な業者探しを、アドバイザーがお手伝いします。