問題タブ [e-commerce]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
4259 参照

php - サービスを販売するための e コマース ツール

優れた e コマース CMS を探しています。

サービスや製品を販売できるようにする必要があります。必要に応じてカスタマイズできるオープン ソースである必要があります。

私は PHP と Mysql に非常に精通しており、Python と Ruby にもある程度精通しているため、PHP ソリューションが好まれます。

0 投票する
1 に答える
459 参照

database-design - 可変カテゴリ階層の処理

私が抱えている問題は次のとおりです。私の会社のサプライヤから、製品情報を含むAccessデータベース(SQL Serverにインポート)が提供されており(代わりにXMLを使用することもできます)、これをより使いやすい形式に変換しようとしています。 eコマースWebサイトで使用します。

私が遭遇した問題、そしておそらく私がはっきりと考えていないのは、それらのカテゴリ情報が3〜6個のサブカテゴリの深さである可能性があることです。常に少なくとも2つのカテゴリ(最上位の親カテゴリとより具体的なサブカテゴリ)がありますが、アイテムによっては最大6つまで存在する可能性があります。

それらのデータは、次のテーブル構造で提供されます。

ほとんどの場合、SEQ_IDは使用されていないため、無視できます。PFX_NUMとSTK_NUMは連結されて、製品のSKUを形成しますが、それは問題ではありません。サイトからカテゴリを動的にトラバースできる必要があります。たとえば、次の行があるとします。

SEQ_ID: 364867 (ignored)

PFX_NUM: AMP

STK_NUM: 73121

ECDB2_LVL_1: Office Supplies

ECDB2_LVL_1_ID 11

ECDB2_LVL_2: Envelopes, Mailers & Shipping Supplies

ECBD2_LVL_2_ID: 26

ECDB2_LVL_3: Envelopes

ECDB2_LVL_3_ID: 195

ECDB2_LVL_4: Business Letter Envelopes

ECDB2_LVL_4_ID: 795

ECDB2_LVL_5: (empty)

ECDB2_LVL_5_ID: 0

ECDB2_LVL_6: (empty)

ECDB2_LVL_6_ID: 0

ユーザーはレベルをナビゲートできるはずですが、データが提供されているサンプルWebサイト(以下を参照)は、サブカテゴリの下のすべてのアイテムをランダムな間隔で表示します...第3レベル(ecdb2_lvl_3)のように見えます)ただし、第3レベルがないアイテムの場合は、第2レベルから表示されます。スキーマからわかるように、自己参照カテゴリテーブルや結合製品テーブルのようなものではなく、製品とそれに属するすべてのカテゴリを一覧表示する1つのテーブルにすべてがまとめられています。

問題は、一部のアイテムには2つのレベルしかないことです。このようなアイテムには、最大4つのレベルがあり、6つすべてのアイテムがいくつかあります。ベンダーのサンプルWebサイトで、http://www.biggestbook.comから入手できます。私が望むことはうまくやっていますが、私は彼らのコードにアクセスできないので、彼らがカテゴリーをどれだけ正確に引き戻してトラバースしているかについて頭を悩ませています。彼らはあなたが現在どのレベルにいるのかを示す何らかのグローバルフラグを持っていると思います(たとえば、事務用品の場合は1、封筒の場合は2など)。これにより、現在の深度を追跡できます。次に、各サブレベルをチェックして、表示するサブカテゴリが他にもあるかどうかを確認しますが、これを効率的に処理する方法を考えると、空白を描画しています。それらの命名スキームにも多くの要望がありますが、必要に応じて後で取り組むことができます。

この問題に取り組む方法について誰かアドバイスがありますか?私はC#/ ASP.NET(おそらくMVC、おそらくそうではない)でストアを計画しているので、C#の例が最も役立ちますが、ほとんどの言語を簡単に理解できます。

0 投票する
129 に答える
89861 参照

scripting - スクリプターがあなたのウェブサイトを非難するのを止める

回答を受け入れましたが、残念ながら、元の最悪のシナリオにとどまっていると思います。簡単な説明: キャッシング/Web ファームはヒットを追跡することを不可能にし、任意の回避策 (キャッシュされていない Web ビーコンの送信、統合テーブルへの書き込みなど) は、ボットよりもサイトの速度を低下させます。高レベルで役立つ Cisco などの高価なハードウェアがいくつかある可能性がありますが、代替手段として全員に CAPTCHA を適用する場合、コストを正当化するのは困難です。後でより完全な説明を試み、将来の検索者のためにこれを整理します (ただし、コミュニティ wiki であるため、他の人も試してみてください)。

状況

これは woot.com でのバケツ販売についてです。私は Woot の子会社である Woot Workshop の社長であり、デザイン、製品説明の執筆、ポッドキャスト、ブログ投稿、フォーラムのモデレートを行っています。私は CSS/HTML を扱っていますが、他の技術についてはほとんど知りません。私は開発者と緊密に協力し、ここにあるすべての回答 (および私たちが持っていた他の多くのアイデア) について話し合いました。

ユーザビリティは私の仕事の大きな部分を占めており、サイトをエキサイティングで楽しいものにすることが残りのほとんどです。そこから、以下の 3 つの目標が導き出されます。CAPTCHA はユーザビリティを損ない、ボットはくだらないセールから楽しさと興奮を盗みます。

ボットはランダム クラップ セールのために、1 秒間に何十回も画面をスクレイピング (および/または RSS をスキャン) してフロント ページをバタンと叩いています。彼らがそれを見た瞬間、プログラムの第 2 段階がトリガーされ、ログインして [I want One] をクリックし、フォームに入力して、がらくたを購入します。

評価

lc : このメソッドを使用する stackoverflow やその他のサイトでは、ほとんどの場合、認証された (ログインしている) ユーザーを扱っています。

Woot では、匿名 (ログに記録されていない) ユーザーが私たちのホームページを閲覧できます。言い換えれば、スラミングボットは認証されていない可能性があります (そして、IP アドレス以外では基本的に追跡不可能です)。

そのため、IP のスキャンに戻ります。これは、a) クラウド ネットワーキングとスパムボット ゾンビのこの時代ではまったく役に立たず、b) 1 つの IP アドレスから来るビジネスの数を考えると、あまりにも多くの罪のない人を捕まえます (言うまでもなく、非静的 IP ISP と、これを追跡しようとするとパフォーマンスが低下する可能性があります)。

ああ、そして、人々が私たちに電話をかけることは、考えられる最悪のシナリオになるでしょう. 彼らにあなたに電話してもらえますか?

BradC : Ned Batchelder の方法はかなりクールに見えますが、サイトのネットワーク用に構築されたボットを打ち負かすようにかなりしっかりと設計されています。私たちの問題は、ボットが私たちのサイトを打ち負かすために特別に構築されていることです. これらの方法のいくつかは、スクリプターがボットを進化させてハニーポットを無視し、フォーム ID の代わりに近くのラベル名をスクリーン スクレイプし、JavaScript 対応のブラウザー コントロールを使用するまで、短期間は機能する可能性があります。

 

lc 再び: 「もちろん、誇大宣伝があなたのマーケティング計画の一部である場合を除きます.」はい、間違いなくそうです。アイテムが現れたときの驚きと、それを手に入れることができたときの興奮は、おそらく実際に得られるがらくたと同じかそれ以上に重要です. 先着順を排除するものはすべて、がらくたを「勝つ」というスリルを損ないます。

 

novatrust : そして、私は、新しいボット オーバーロードを歓迎します。実際には、サード パーティのアプリがサイトをスキャンして製品情報を取得できるようにするために、RSS フィードを提供していますが、メイン サイトの HTML よりも先にスキャンすることはできません。私の解釈が正しければ、あなたの解決策は、目標 1 を完全に犠牲にして、ボットが大部分を買うという事実を放棄することによって、目標 2 (パフォーマンスの問題) を助けます。あなたの最後の段落の悲観論は私には正確だと感じたので、私はあなたの回答に賛成票を投じました. ここには特効薬はないようです。

残りの応答は一般的に IP 追跡に依存していますが、これも役に立たず (ボットネット/ゾンビ/クラウド ネットワーキングで)、有害です (同じ IP の宛先から来る多くの罪のない人を捕まえます)。

他のアプローチ/アイデアはありますか? 私の開発者は「CAPTCHA をやりましょう」と言い続けていますが、私たちのがらくたを欲しがっているすべての実際の人間に邪魔にならない方法があることを願っています.

元の質問

非常に高い認識価値を持つものを安く販売していて、数量が非常に限られているとします。このアイテムをいつ販売するかは誰にもわかりません。そして、100 万人以上の人々が定期的にあなたの商品を見に来ます。

スクリプターやボットは、[a] あなたがそのアイテムをいつ販売しているかをプログラムで把握し、[b] 彼らが最初にそれを購入したことを確認しようとします。これには 2 つの理由があります。

  1. あなたのサイトは人間以外によって非難され、すべての人にとってすべてが遅くなります.
  2. スクリプターは製品を「獲得」することになり、常連はだまされたと感じます。

一見明白な解決策は、ユーザーが注文する前にジャンプするためのフープを作成することですが、これには少なくとも 3 つの問題があります。

  • CAPTCHA を解読したり、猫を見つけたり、数学の問題を解いたりする必要があるため、ユーザー エクスペリエンスは人間にとって最悪です。
  • 認識された利益が十分に高く、群衆が十分に大きい場合、一部のグループは微調整を回避して軍拡競争につながる. (これは、微調整が単純であるほど特に当てはまります。非表示の「コメント」フォーム、フォーム要素の再配置、それらの誤ったラベル付け、非表示の「落とし穴」テキストはすべて一度に機能し、その後、この特定のフォームをターゲットにして戦うために変更する必要があります。 .)
  • スクリプターがあなたの微調整を「解決」できなくても、彼らがあなたのフロントページをバタンと閉め、スクリプターが注文を手動で記入するように警報を鳴らすのを防ぐことはできません. [a] を解決することでアドバンテージを得たとしても、注文ページに到達する最初の人間になるため、[b] を勝ち取る可能性は高くなります。さらに、1. は引き続き発生し、サーバー エラーが発生し、すべてのユーザーのパフォーマンスが低下します。

もう 1 つの解決策は、頻繁にアクセスする IP を監視するか、それらをファイアウォールからブロックするか、または別の方法で IP が注文されないようにすることです。これにより 2. が解決され、[b] が防止される可能性がありますが、IP のスキャンによるパフォーマンスへの影響は大きく、スクリプト作成者が独自に引き起こした問題よりも 1. のような問題を引き起こす可能性があります。さらに、クラウド ネットワーキングとスパムボット ゾンビの可能性があるため、IP チェックはほとんど役に立ちません。

3 番目のアイデアは、注文フォームをしばらくの間 (たとえば 0.5 秒) 強制的に読み込ませることで、迅速な注文の進行が遅くなる可能性があります。実際のユーザー。

目標

  1. スクリプトを使用しない人間にアイテムを販売します。
  2. ボットによって速度が低下しない速度でサイトを実行し続けます。
  3. 「通常の」ユーザーが人間であることを証明するために完了するタスクを実行するのに煩わされないでください。
0 投票する
6 に答える
95134 参照

php - マジェントeコマースで特定のカテゴリから製品を取得する方法

製品ビュー内に表示するために、現在の製品と同じカテゴリからランダムな製品のリストを取得したいと思います-これまでに掘り下げたのは

カテゴリー別のMagento製品

誰もこれを行う方法を知っていますか?

0 投票する
2 に答える
417 参照

seo - データベース主導の製品ページとSEOの効果

eコマースサイトのSEOにどのような影響がありますか?データベースから駆動される製品/アイテム情報を表示します(各製品が独自のHTMLページを持っているのに対して)。

SEはアイテム情報を見つけますか?そうでない場合、この問題をどのように克服しますか?

0 投票する
2 に答える
2633 参照

php - MagentoでSEOされた「タグ」ページを作成するには?

Magento では、SEO の URL 書き換えを有効にしており、正常に動作しています。

  • タグ (site/tag/product/list/tagId/1/ として表示)
  • レビュー (たとえば、site/review/product/list/id/1/ として表示)
  • RSS フィード (site/rss/catalog/category/cid/3/sid/1/ として表示)

なぜこれはSEOされていないのですか?そして、この問題の解決策は何でしょう。タグの方が心配です。助けてください

ありがとう

0 投票する
6 に答える
12821 参照

python - ジャンゴカートかサッチモか?

非常に基本的なショッピングカートを実装しようとしています。 Satchmoは、必要のない多くのアプリケーションや余分なものをインストールするようです。他の人がdjango-cartについて言及しているのを聞いたことがあります。この Django アプリ (django-cart) を試した人はいますか? 注目すべき点やその他の経験はありますか?

0 投票する
7 に答える
2304 参照

ruby-on-rails - ユーザーの API 資格情報の検証 - Rails、ActiveMerchant、および PayPal Express Gateway

PayPal Express を使用するマーケットプレイス アプリケーションを構築しています。売り手が PayPal API 資格情報を入力するためのフォームを用意しましたが、PayPal に何らかの呼び出しを行うことによってそれらを検証する方法が必要です。

ActiveMerchant で PaypalExpressGateway を使用していますが、標準の購入コントロール以外には何も表示されません。使用できるヌル操作はありますか?

どんな助けでも大歓迎です!

0 投票する
1 に答える
643 参照

design-patterns - 製品の多くの価格を柔軟な方法で保存するにはどうすればよいですか?

価格を決める小さな魔法使いが商品に付いているお店を作りたいです。この場合、私は製品の印刷について話しています。

したがって、(少し)例として、名刺を印刷したい場合は、白黒またはカラーのどちらを印刷するか、厚紙または薄紙を選択するか、必要に応じて決定することができます。 100、200、500、1000枚などを印刷します。

結局のところ、たとえば、黒と白の厚い紙、200枚=> 40、-$の価格があります

実際には、さらに多くの選択肢があります。ですから、ご想像のとおり、多くの価格があり、そのための公式はありません

だから私の質問は:どうすれば価格を処理できますか?

私の最初のアイデア:デコレータパターン。

しかし、私がそれについて考えたとき、それはあまり良い考えではありません。実際の数式はないと言ったように、ウィザードも生成する必要があります(グリーティングカードを印刷する場合は異なる場合があります)。また、管理インターフェースを介して価格を変更したり、製品を追加したり、「光沢紙が必要ですか?」などの新しい「決定」を追加したりできるようにしたいと思います。製品に追加するか、製品を削除します(それでも価格はそのままにしておきます)。

そこで、レベル(新しい決定)やリゾートレベルなどを追加できるツリーを製品ごとに使用することを考えています。

もう1つのアイデアは、決定を通じてある種のキーオブジェクトを作成し、価格テーブルで価格を調べることです。決定を追加し、結局、価格表で価格を検索するためにそれからキーを生成する辞書に少し似ています。

それで、プロトタイピングの前に、私はただ盲目で、明白な解決策が見当たらないのか、それとも私が知らないよりエレガントな別の方法があるのだろうかと思っていました。