検索で結果が返されない


9

タイトルで説明したように、製品を検索しても何も検索されません。私はこれまでに試しました:

  1. 製品の可視性を確認する
  2. 私の製品は在庫があります
  3. また、確実に数量を100に設定しました
  4. カタログ->製品の管理->すべての製品を選択して、製品の属性を更新しました。
  5. メインWebサイトのすべての商品を特定のストアビューに割り当てました。
  6. name属性は検索に使用できます。

でも検索を試みましたskuが、何も起こりません。奇妙なのは、名前とsku機能の両方を使用した高度な検索です。

そして、私の問題はまだ残っています。検索時に自分の製品を表示する方法についてのアイデアはありますか?


シンプルか設定可能か?インデックスを再作成しましたか?
Shyam Krishna Sreekumar

私は2つのシンプルな製品を使用しており、残りは構成可能です。これまでに何度もインデックスを再作成しました。
vasilisdmr 2015年

製品はカタログに表示されていますか?
Milan Simek、2015年

それはどういう意味ですか?カタログから製品を管理することができますか?それがあなたの質問であれば、はい私はそれらを見ることができます。
vasilisdmr 2015年

つまり、フロントエンドでカタログを閲覧するときに表示されますか?
Milan Simek

回答:


9

ファイルMage_CatalogSearch_Model_Layerを開いてメソッドで

public function prepareProductCollection($collection)

return $this;

次の行を追加します。

Mage::log($collection->getSelectSQL(1), false, 'search.log', true);
Mage::log((array)Mage::getConfig()->getNode()->global->models->catalogsearch, false, 'search.log', true)

(問題を理解するためのデバッグを目的としています)。

次に、を開いてvar/log/search.log結果を最初の投稿に書き込みます(書き換えが表示される長いSQLクエリと配列があるはずです)。


午前中に試して結果をお伝えします。
vasilisdmr 2015年

5

私はこれを経験しました。私の修正は、Manage Productsすべての製品に移動して選択し"Update Attributes"、グリッドの上のドロップダウンから実行することでした。Websites[ 属性の更新] 画面で、タブに移動し、の下のチェックボックスをオンにして、適切なWebサイトに再度関連付けますAdd Products To Website

この後、別の検索インデックスの再構築が必要になる場合があります。


私にもこの問題があり、属性の更新が機能しました。
ポールドネリー

ポイントを読む #4と#5彼はすでにそれを行い、彼の製品は必要なウェブサイトに割り当てられています
zhartaunik

@zhartaunik#4では、OPは変更された属性を指定しませんでした。#5では、OPは「Webサイト」とは異なる「ストアビュー」という用語を使用しています。
ジョンオーマン

しばらくしてみます。
vasilisdmr 2015年

私はそれを試してみましたが何もしませんでした。もう一度やり直して同じことをしたことを思い出しました。
vasilisdmr

3

に行く

admin->attributs->manage attribute-> search sku - open it -> Frontend Properties-> Use in Quick Search (YES )

、詳細検索で使用(はい)。それでおしまい。


私はそれをやったが何も起こらなかった。
vasilisdmr 2015年

2

検索を使用して必要な外部モジュールを作成しましたか?このようなもののためにレイアウトファイルを見てください

<mdg_giftregistry_search_index>
    <reference name="content">
        <block name="giftregistry.search" type="core/template" template="mdg/search.phtml" as="giftregistry_search"/>
    </reference>
</mdg_giftregistry_search_index>

検索が必要な外部モジュールは使用していません。
vasilisdmr 2015年

2

私のために働いた別の可能性は、データのインデックスを再作成することです!

これを行うには、[管理パネル]> [システム]> [インデックス管理 ]に移動し、[すべて選択]をクリックします。[アクション]フィールドで[データの再インデックス ]を選択し、[送信]をクリックします。

=)

平和!



1

関数の下のクラスMage_CatalogSearch_Model_Layerでコレクションオブジェクトをデバッグできます。

public function getProductCollection()
    {
        if (isset($this->_productCollections[$this->getCurrentCategory()->getId()])) {
            $collection = $this->_productCollections[$this->getCurrentCategory()->getId()];
        } else {
            $collection = Mage::getResourceModel('catalogsearch/fulltext_collection');
            $this->prepareProductCollection($collection);
            $this->_productCollections[$this->getCurrentCategory()->getId()] = $collection;
        }

echo $ collection-> getSelect(); die( 'test');

        return $collection;
    }

このコードスニペットはどこに置く必要がありますか?
vasilisdmr 2015年

app / code / core / Mage / CatalogSearch / Model / Layer.php 44行目以降$ echo $ collection-> getSelect(); die( 'test');
サンジ2015年

結果はどうなりますか?つまり、製品が$ collectionに追加されるかどうかを確認しますか?
vasilisdmr 2015年

1

私も数日前に同じ問題に直面しました。私の問題は、1つの拡張機能のデフォルトのmagento機能を上書きしたことです。そのため、私の検索結果と競合していました。すべての拡張機能を一度確認して、競合がないか確認します。


私はそれを行い、あなたに
常に

キャッシュ、インデックスの更新はできますか?これが必要です。
Pratik Kamani

localhost /.../ index.php / catalogsearch / advanced これを試してみて、サイトリンクを配置し、catalogsearch / advanced /の後に、手がかりが得られたら。
Pratik Kamani 2015

0

同じ問題があり、上記の提案をすべて試しましたが、どれも機能しなかったため、問題のそれぞれについてGoogle検索を行ったが何も得られなかったため、Magentoストアで製品を検索可能にする方法をGoogleで検索しました。カタログにありますが、システム構成のカタログではなく、製品を追加または編集するときにカタログにある検索用語。検索クエリに、検索に使用するタイトルを追加し、リダイレクトに、その名前を付けたい製品のURLアドレス全体を入力します。私は大人のおもちゃを販売しているので、たとえばMagento Vibratorの検索セクションに入力すると、さまざまなモデルのヒープがあっても何も表示されないため、Vibratorという名前の検索クエリを作成し、バイブレーターのカテゴリからURLをコピーしました&


0

私にもこの問題があります。

[製品の管理]に移動してすべての製品を選択し、グリッドの上のドロップダウンから[属性の更新]を実行します。[属性の更新]画面で、[ウェブサイト]タブに移動し、[製品をウェブサイトに追加]の下のチェックボックスをオンにして、適切なウェブサイトに再度関連付けます。

  • この解決策は私にとってはうまくいきますが、文字通り何千もの製品があり、これには何日もかかるでしょう。これを行う別の方法またはこれを行うために使用できるデータベースコマンドはありますか?ありがとうございました

MSEへようこそ。新しい質問を追加できます。この部分は回答の投稿専用です。それが役に立てば幸い
ジャイ

-5

私はあなたが上記を除いて上記のすべてのコメントをフォローしたと思います、以下もフォローしてください:

  1. 最初に、実行時間が最大であることを確認してください。index.phpに書き込むか ini_set('max_execution_time', 1800)、php.iniに設定してください。max_execution_time= 1600
  2. メモリ制限を増やす ini_set('memory_limit','512M')か、php.iniに設定しますmemory_limit=16M

16Mは増加をどのように参照しますか?Magentoは256 / 512Mです...スパムの応答?
FlorinelChis

申し訳ありませんが編集しました。
magegaga.com
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.